¡50 años de C y todavía es relevante!

¡50 años de C y todavía es relevante!

¡El lenguaje C es una referencia cuando hablamos de lenguaje de programación! Muchos lo aprendieron como primer idioma, otros tantos lo conocen por sus idiomas secundarios y muchos aún crean software en C de manera profesional.

include <stdio.h>
int main() {
   printf("Hello, C!");
   return 0;
}
Hello, C!

En este artículo, encontraremos nuestro camino a través de estos 50 años de lenguaje, desde su invención, software importante que se hizo en C y por qué sigue siendo un lenguaje muy influyente incluso ahora en 2023.


¿Por qué inventaron C?


Antes de hablar de C, tenemos que hablar de UNIX. En la década de 1960, se necesitaban sistemas operativos para computadoras grandes. Uno de ellos fue UNIX creado en Bell Labs por el equipo de Dennis Ritchie. La invención de UNIX fue tan importante que los sistemas operativos modernos como Linux y MacOS se inspiraron en Unix. Sin embargo, los lenguajes de programación de la época no ofrecían los recursos necesarios para realizar adecuadamente un Sistema Operativo.

Para resolver el primer problema, Dennis Ritchie y su equipo crearon el lenguaje de programación C, que fue diseñado para programar sistemas con gestión de memoria y control de ejecución eficientes. La influencia fue tan grande que se convirtió en un lenguaje de propósito general, llegando a todas las aplicaciones informáticas posibles. Por esta razón, muchos lenguajes de programación y sus entornos de ejecución están hechos en C!

Ken Thompson y Dennis Ritchie.

C es un lenguaje fundamental de la educación en Ciencias de la Computación, siendo a menudo el primer lenguaje que se enseña en el curso de algoritmos y estructuras de datos.

Por lo tanto, muchos software, herramientas y otros lenguajes de programación se hicieron en C, es decir, ¡la base de la informática moderna está hecha en C!


¿Dónde se usa más C? ¿Cuáles son los softwares más famosos?

Aquí presento varios softwares basados C:

  • Sistemas Operativos: Linux es el caso más famoso. Toda la API del sistema operativo está escrita en C, por lo que cualquier software que funcione con el sistema operativo debe usar las bibliotecas escritas en C. Partes de Microsoft Windows también están escritas en C.
  • Bases de Datos: Como la gestión de memoria y disco es algo importante en una base de datos, necesitamos un lenguaje que sepa trabajar a este nivel. Ejemplos de bases de datos realizadas en C: PostgreSQL, MySQL, MariaDB, Redis y SQLite.
  • Runtime Environments o Máquinas Virtuales de lenguajes: Los lenguajes de scripts necesitan un tiempo de ejecución para ejecutarse en el sistema operativo, por lo que C es la primera opción para lenguajes como Python tiene CPython, Ruby tiene YARN y Java tiene JVM.
  • Control de versión: los genios hacen herramientas para otras herramientas. Al igual que Dennis Ritchie, Linus Towards versionó el código Git en C para poder administrar el código fuente de Linux.
  • Webservers: Los servidores web como Apache o Ngnix pueden procesar muchas solicitudes por segundo sirviendo páginas a la web.
  • IoT e embarcados: con su control de memoria, C es perfecto para trabajar en procesadores con recursos limitados como Raspberry.
  • Engines de games: C ha sido clave en la industria de los juegos para la programación de sistemas y el desarrollo de motores. Por ejemplo, motores de juegos populares como Unreal Engine, Unity y CryEngine se desarrollaron en C o C++.

Candidatos a sustitutos de C


C++: es un lenguaje de programación de alto nivel que se creó con el objetivo de expandir las capacidades de C agregando características de programación orientada a objetos como la herencia y el polimorfismo. A menudo se utiliza para la programación de sistemas, el desarrollo de juegos y el desarrollo de aplicaciones gráficas.

Rust: es un lenguaje de programación relativamente nuevo que se creó con el objetivo de proporcionar seguridad y rendimiento de alto nivel. A menudo se utiliza para la programación de sistemas, el desarrollo de juegos y el desarrollo de aplicaciones web. Rust se considera una alternativa moderna y segura a C, ya que ofrece funciones como la gestión segura de la memoria y la prevención de fallas de seguridad.

D: es un lenguaje de programación moderno compatible con la sintaxis de C. Fue diseñado para ser eficiente, seguro y fácil de usar. D ofrece funciones como recolección de elementos no utilizados opcional, verificación de rango de matriz y programación orientada a objetos.

Zig: es un lenguaje de programación relativamente nuevo que se basa en la sintaxis de C, pero con funciones adicionales como la gestión segura de la memoria y la programación orientada a objetos. Zig se usa a menudo para la programación de sistemas, el desarrollo de juegos y el desarrollo de aplicaciones web.

Nim: Nim es un lenguaje de programación de alto nivel que fue diseñado para ser eficiente y fácil de usar. Es compatible con la sintaxis C y ofrece funciones como recolección de basura opcional y programación orientada a objetos. Nim se usa a menudo para el desarrollo de juegos, aplicaciones web y automatización de tareas.

Go: es un lenguaje de programación de alto nivel que fue diseñado para ser eficiente y fácil de usar. A menudo se utiliza para la programación de sistemas, el desarrollo de aplicaciones web y el desarrollo de herramientas de línea de comandos. Go ofrece funciones como recolección de basura, programación concurrente, verificación de tipos en tiempo de compilación y soporte para programación orientada a objetos.

Curiosidades

  1. C sigue siendo el segundo lenguaje más utilizado según el Índice TIOBE;
  2. El nombre C proviene de su predecesor, el lenguaje B que proviene de BCPL;
  3. La especificación C original se escribió en el libro The C programming language de Dennis Ritchie y Brian Kernighan y se ha convertido en uno de los libros de programación más populares de todos los tiempos;
  4. En este mismo libro, un ejemplo que se ha convertido en un clásico para los principiantes en programación en cualquier idioma: “Hello, World”;
  5. Dennis Ritchie ganó el Premio ACM Turing (equivalente al Premio Nobel en Informática) por crear C, Unix y otros proyectos;
  6. Uno de los co-creadores de C, Ken Thompson, también es el creador del lenguaje Go de Google;
  7. La última versión de C es de 2018 y se llama C17 (ISO/IEC 9899:2017). Existe la versión C23 todavía en desarrollo.
El libro de programación de C.


¡Gracias por estos 50 años, C!

En conclusión, el lenguaje C ha sido uno de los lenguajes de programación más influyentes y perdurables en la historia de la Informática. Durante sus 50 años de existencia, C ha sido ampliamente adoptado. Sigue siendo una opción popular para los programadores de todo el mundo debido a su eficiencia, rendimiento y amplia disponibilidad de bibliotecas.

Si bien han surgido una serie de lenguajes de programación modernos y actualizados a lo largo de los años, C sigue siendo relevante y es probable que siga siendo un lenguaje esencial para la programación de sistemas de bajo nivel y el desarrollo de aplicaciones en plataformas de hardware de bajo costo.

¡Que dure 50 años más!

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.