Qué diablos, voy a participar con mi $ 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, los lenguajes como Python, Ruby, etc. son más sencillos 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, poderoso y rápido. Un lenguaje simple gana poder por medios que los programadores que no son de sistemas a menudo consideran peligrosos: punteros, gestión manual de memoria, etc. Como ya se ha mencionado, C es bastante simple. K & R es el libro más pequeño en mi plataforma de programación por mucho (sin contar las Referencias de bolsillo de O'Reilly) y solo es ligeramente más "grande" que mi Referencia de bolsillo de Ruby. C es bastante potente. Si necesita hablar con el hardware, verifique manualmente y juegue con la memoria, etc. C tiene la capacidad.
Sin embargo, desde la perspectiva de un programador, C no es tan simple. La velocidad y la potencia están al precio de la administración de memoria manual y no hay mucho soporte de POO integrado en el idioma. 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 idioma favorito) tiene el mismo compromiso, 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 como el mundo informático, como muchos de nosotros sabemos, estaba escrito en C, es difícil que los lenguajes más nuevos, más complicados pero "más fáciles" obtengan una adopción generalizada.
En algunos casos, especialmente cuando el "estándar" actual es tan "suficientemente bueno" como C es, simplemente no hay muchos incentivos para que algo "mejor" (C ++, Objective-C, D, etc.) gane tracción , cuando hay incluso incentivos suficientes para crear algo "mejor".