GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué la mayoría de los programas de Linux están escritos en C?

Ha habido muchas discusiones sobre esto. Principalmente, la razón es filosófica. C se inventó como un lenguaje simple para el desarrollo de sistemas (no tanto para el desarrollo de aplicaciones). Hay muchos argumentos para usar C++, pero hay tantos para no usando C++ y apegándose a C.

Al final, es un tema histórico. La mayoría de las cosas de las aplicaciones están escritas en C, porque la mayoría de las cosas del Kernel están escritas en C. Y dado que en aquel entonces la mayoría de las cosas estaban escritas en C, la gente tiende a usar los lenguajes originales.

En este punto, alguien podría preguntar "Está bien, entonces ¿por qué el kernel escrito en C y no portado a C++?" . Esto se ha discutido en kerneltrap hace algún tiempo. Una buena explicación que se puede citar de este hilo es una respuesta de yoshi314 (citando directamente):

eso se debe a que casi todas las aplicaciones de C++ necesitan una biblioteca estándar de C++ independiente para funcionar. por lo que tendrían que portarlo al kernel y esperar una sobrecarga adicional en todas partes.

c ++ es un lenguaje más complejo y eso significa que el compilador crea un código más complejo a partir de él. por eso, encontrar que un problema proviene de un error del compilador, en lugar de un error de código, es más fácil en c.

además, el lenguaje c es más básico y es más fácil seguir su representación de ensamblaje, que a menudo es fácil de predecir.

c++ es más versátil, pero c es más adecuado para cosas de bajo nivel o incrustadas.

Por otro lado, "la mayoría de los programas de Linux" es bastante engañoso. Echa un vistazo a las aplicaciones gráficas. Python está ganando cada vez más terreno, especialmente en entornos GUI en Linux. Más o menos lo mismo que sucede con Windows y .NET.


Después de leer el siguiente correo electrónico de Linus Torvalds, el creador de Linux. No puedo evitar pensar que la respuesta anterior es incorrecta. Parece pensar que los programadores de C++ no son buenos sistemas programadores Y que las características adicionales en C++ a menudo causan más problemas a largo plazo en comparación con los beneficios que brindan a corto plazo. Si bien uno puede no estar de acuerdo con él, es difícil exagerar la influencia que ha tenido en el sistema operativo Linux.

http://dañino.cat-v.org/software/c++/linus


Linux
  1. Por qué me quedo con xterm

  2. ¿En qué idiomas están escritos Windows, Mac OS X y Linux?

  3. ¿Por qué necesitamos el archivo .so.1 en Linux?

  4. ¿Por qué las bibliotecas compartidas en Linux son ejecutables?

  5. ¿Por qué se instala Perl de forma predeterminada con la mayoría de las distribuciones de Linux?

Las mejores distribuciones de Linux que son más adecuadas para principiantes

Las 10 razones principales por las que usar Linux

Por qué los nerds usan Linux

Cómo compilar y ejecutar programas C, C++ en Linux

Cómo ejecutar programas C/C++ en Linux [Terminal y Eclipse]

Linux:¿por qué son tan grandes los verdaderos y los falsos?