El C es un lenguaje demasiado próximo a la máquina. Sólo debería usarse para drivers y cosas de muy de bajo nivel del sistema operativo.
Vaya por delante que a mí C me parece un lenguage magnífico, ahora bien, en tu línea de argumentación, se ha de procurar elegir la mejor herramienta para un problema determinado, y C no es siempre la mejor, puesto que es mucho más caro desarrollar y depurar programas.
Para el proceso de estructuras de datos, como árboles, listas, grafos, cualquier otra cosa que no sea C irá más lento, salvo que la implementación sea una castaña (p.e. puedes encontrar un algoritmo mal implementado en C que vaya más lento que el equivalente en Lisp compilado con SBCL).
En aplicaciones comerciales de vida corta, en mi opinión lo más sensato, para poder competir es usar lenguajes más sencillos, como Java, o incluso scripting (python, ruby, perl, etc.). Sin embargo, en aplicaciones multiplataforma y con un tiempo de vida previsto muy prolongado, el C es una apuesta segura, siempre y cuando haya gente lo suficientemente cualificada para programar en el proyecto (evitar el uso de constantes "harcoded", consciencia del concepto de pila, aritmética de punteros, conocimiento "de verdad" de arquitectura de computadores, etc.).
Re:Estoy de acuerdo, pero...
(Puntos:2, Interesante)( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )
Vaya por delante que a mí C me parece un lenguage magnífico, ahora bien, en tu línea de argumentación, se ha de procurar elegir la mejor herramienta para un problema determinado, y C no es siempre la mejor, puesto que es mucho más caro desarrollar y depurar programas.
Para el proceso de estructuras de datos, como árboles, listas, grafos, cualquier otra cosa que no sea C irá más lento, salvo que la implementación sea una castaña (p.e. puedes encontrar un algoritmo mal implementado en C que vaya más lento que el equivalente en Lisp compilado con SBCL).
En aplicaciones comerciales de vida corta, en mi opinión lo más sensato, para poder competir es usar lenguajes más sencillos, como Java, o incluso scripting (python, ruby, perl, etc.). Sin embargo, en aplicaciones multiplataforma y con un tiempo de vida previsto muy prolongado, el C es una apuesta segura, siempre y cuando haya gente lo suficientemente cualificada para programar en el proyecto (evitar el uso de constantes "harcoded", consciencia del concepto de pila, aritmética de punteros, conocimiento "de verdad" de arquitectura de computadores, etc.).