Che diamine, entrerò con i miei $ 0,02.
In molti casi esiste una differenza reale o percepita tra le lingue dei "sistemi" e le lingue di livello superiore. Ignorerò la maggior parte delle lingue di "livello superiore", dal momento che nessuno (almeno non molti) sosterrà che per molte attività, lingue come Python, Ruby, ecc. Sono più semplici da utilizzare.
C è stato progettato per essere un linguaggio di sistema, nel senso che è stato progettato come il linguaggio in cui è stato scritto il sistema operativo Unix. Come tale, è stato progettato per essere semplice, potente e veloce. Un linguaggio semplice guadagna potere grazie al fatto che i programmatori non di sistema spesso considerano pericolosi: puntatori, gestione manuale della memoria, ecc. Come già accennato, C è abbastanza semplice. K&R è di gran lunga il libro più piccolo sul mio scaffale di programmazione (senza contare i riferimenti tascabili di O'Reilly) ed è solo leggermente "più grande" del mio riferimento tascabile di Ruby. C è abbastanza potente. Se hai bisogno di parlare con l'hardware, controlla manualmente e modifica la memoria, ecc. C ha la capacità.
Dal punto di vista di un programmatore, tuttavia, C non è così semplice. La velocità e la potenza sono al prezzo della gestione manuale della memoria e non molto supporto OOP integrato nella lingua. Il C ++ (non il mio linguaggio preferito) è molto più semplice dal punto di vista di un programmatore, ma molto meno semplice dal punto di vista di un compilatore. Objective-C (forse la mia lingua preferita) ha lo stesso compromesso, con una leggera inclinazione nella direzione di mantenere la lingua semplice (la garbage collection è una novità di Objective-C, per esempio). Ma poiché il mondo dell'informatica come molti di noi sanno che è stato scritto in C, è difficile per l'adozione di linguaggi più recenti, più complicati ma "più facili".
In alcuni casi, specialmente quando l'attuale "standard" è "abbastanza buono" come lo è C, semplicemente non c'è molto incentivo per qualcosa di "migliore" (C ++, Objective-C, D ecc.) Per ottenere trazione, quando c'è è persino un incentivo sufficiente per creare qualcosa di "migliore".