Qué diablos, voy a intervenir con mis $ 0.02.
En muchos casos, existe una diferencia real o percibida entre los idiomas de "sistemas" y los idiomas de nivel superior. Ignoraré la mayoría de los lenguajes de "nivel superior", ya que nadie (al menos no muchos) argumentará que para muchas tareas, lenguajes como Python, Ruby, etc. son más fáciles de trabajar.
C fue diseñado para ser un lenguaje de sistemas, lo que significa que fue diseñado como el lenguaje en el que se escribió el sistema operativo Unix. Como tal, fue diseñado para ser simple, potente y rápido. Un lenguaje simple gana poder por medio de que los programadores que no son sistemas a menudo consideran peligroso: punteros, administración manual de memoria, etc. Como ya se mencionó, C es bastante simple. K&R es, con mucho, el libro más pequeño en mi plataforma de programación (sin contar las referencias de O'Reilly Pocket) y es marginalmente "más grande" que mi Ruby Pocket Reference. C es bastante poderoso. Si necesita hablar con el hardware, verifique manualmente y gire con memoria, etc. C tiene la capacidad.
Desde la perspectiva de un programador, sin embargo, C no es tan simple. La velocidad y la potencia tienen el precio de la administración de memoria manual y no hay mucho soporte de OOP integrado en el lenguaje. C ++ (no es mi lenguaje favorito) es mucho más simple desde la perspectiva de un programador, pero mucho menos simple desde la perspectiva de un compilador. Objective-C (posiblemente mi lenguaje favorito) tiene la misma compensación, con una ligera inclinación en la dirección de mantener el lenguaje simple (la recolección de basura es un recién llegado a Objective-C, por ejemplo). Pero dado que el mundo de la computación, como muchos de nosotros sabemos, está escrito en C, es difícil para los lenguajes más nuevos, más complicados pero "más fáciles" obtener una adopción generalizada.
En algunos casos, especialmente cuando el "estándar" actual es tan "suficientemente bueno" como lo es C, simplemente no hay muchos incentivos para que algo "mejor" (C ++, Objective-C, D, etc.) gane tracción, cuando hay Es incluso un incentivo suficiente para crear algo "mejor".