Esta mañana, he leído de mi amigo Carazo una nota sobre en qué lenguaje de programación y con qué tecnología está implementado el software que usamos a diario.
En la lista podemos ver los principales proyectos software de sistemas operativos como Windows, Mac Os y Linux. También se puede observar los navegadores más populares, las suites ofimáticas, así como páginas webs, intérpretes y mucho más.
Pero necesito hacer una aclaración.
Aunque en muchos proyectos se vea que están programados en C++, no es del todo cierto. Un programa escrito en C++ puede tener en su mayoría código escrito en C. De hecho, prácticamente puedes tener programas en C y crear el ejecutable con un compilador de C++. La dualidad C y C++ proporciona una combinación perfecta para crear los mejores productos software existentes. Como muchos sabéis, C++ es C con clases y algunos añadidos más que hacen más completo el lenguaje creado por Dennis M. Ritchie.
Por eso, hay que tener cuidado con esta lista, aunque veamos en su mayoría que el principal software está en C++, es probable que tenga más código de C que de C++. Por ejemplo, GCC aparece que está en C++, cuando no tendría que ser así. He entrado en el análisis de Ohloh y el 37 por ciento, frente al 27 de C++, está escrito en C. Por tanto, sería honesto indicar que está en C en vez de C++, aunque lo más justo, en mi opinión, es establecer una sóla columna: C/C++.
Enlace: The Programming Languages Beacon.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
Nacho, tu apreciación C/C++ no la veo correcta, el código resultante de compilar con C++ C y con gcc C (usando el estándar) varía bastante diría yo y si metes una sola clase ni te cuento.
Por otro lado, pon al principio ¡¡qué has leído esto a raíz de un tweet mío!!
Carazo: no sé exactamente qué es lo que me quieres decir. Está claro que el código resultante, código binario, varía mucho. Pero varía dependiendo del compilador, no del lenguaje. Hay excelentes compiladores de C que generan binarios muy eficientes así como compiladores de C++. Éstos últimos también tienen que compilar la parte de C, por tanto la complejidad del compilador aumenta.
Y mi apreciación es que la tabla es un poco ambigua, ya que hay proyectos que aparecen que están escritos en C++ cuando están en su mayoría escritas en C, como por ejemplo gcc.
¡Y sí, todo esto viene a través de un Tweet tuyo!
@Nacho: La idea es que aunque sean "compatibles", con que ensuciemos el código C con algo de C++, ya empeoramos mucho el código resultante.
Lo que sí está claro, es que a pesar de lo gráfico de este enlace, en realidad, cada plataforma es un mundo en el que se mezclan muchas más tecnologías, así que bueno, la idea sería más bien la tecnología predominante en cada caso.
Carazo: Está claro que ambos códigos se mezclan. Un código en C puro, como diría Linus, es mucho más eficiente que meterle los añadidos de C++. Aunque yo no lo veo tan drástico, los binarios de C++ son muy rápidos.
Por eso mi aclaración, hay proyectos que en la tabla sale como C++, cuando en realidad el lenguaje predominante es C.