¿Cuáles son los beneficios de aprender el lenguaje C?
El lenguaje C es el lenguaje de programación más utilizado para escribir sistemas operativos (Nota del traductor: no existe). Unix es el primer sistema operativo escrito en lenguaje C, y más tarde Microsoft Windows, Mac OS. X y GNU/Linu también están escritos en lenguaje C. El lenguaje C no es solo el lenguaje de los sistemas operativos, sino también el predecesor y fuente de inspiración de casi todos los demás lenguajes de alto nivel más populares en la actualidad. De hecho, Perl, PHP, Python y Ruby están todos escritos en C.
Por ejemplo, el idioma español, italiano, francés o portugués que estás aprendiendo también está escrito en C.
¿Por qué deberías aprender C en lugar de lenguaje ensamblador? El lenguaje ensamblador proporciona velocidad y máximo control de programación, mientras que C proporciona portabilidad.
Se deben programar diferentes procesadores utilizando diferentes lenguajes ensambladores. De hecho, una de las principales ventajas del lenguaje C es su versatilidad y portabilidad frente a numerosas arquitecturas informáticas, dejando la mayor parte del control de la capa de hardware al lenguaje ensamblador.
Por ejemplo, los programas en C se pueden compilar para ejecutarse en la calculadora HP 50g (procesador ARM), la calculadora TI-89 (procesador 68000), el teléfono inteligente Palm OS Cobalt (procesador arm), el iMac original (PowerPC), Arduino (Atmel AVR) e Intel iMac (Intel Core 2 Duo). Estos dispositivos tienen su propio lenguaje ensamblador propietario que es completamente incompatible con el lenguaje ensamblador de otros dispositivos.
El lenguaje ensamblador es poderoso, pero es difícil escribir aplicaciones grandes en él y es difícil de leer e interpretar de manera lógica. Por eso el lenguaje C es tan popular.
Al igual que el dominó, la próxima generación de programas sigue los pasos de sus predecesores. Los sistemas operativos diseñados en C suelen tener bibliotecas de sistema diseñadas en C. Estas bibliotecas del sistema, a su vez, se utilizan para crear bibliotecas de alto nivel (como OpenGL o GTK), y los diseñadores de estas bibliotecas suelen adoptar el lenguaje utilizado por las bibliotecas del sistema. Luego, los desarrolladores de aplicaciones utilizan las bibliotecas de alto nivel para diseñar procesadores de texto, juegos, reproductores multimedia y más. La mayoría opta por programar en el lenguaje utilizado por las bibliotecas de alto nivel. Etcétera.