Dennis Ritchie, cocreador de Unix: "El lenguaje de programación C es peculiar, imperfecto y un éxito rotundo"

Dennis Ritchie
Dennis RitchieFondo generado con IA / Montaje / Wikipedia
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

El lenguaje C nació con limitaciones que hoy serían difíciles de aceptar, pero su velocidad y cercanía al hardware lo convirtieron en la base de gran parte de la informática actual.

Los lenguajes de programación son una de las piezas fundamentales de la informática, ya que permiten convertir una idea en instrucciones que un ordenador puede ejecutar.

Y, dependiendo de cómo estén diseñados, pueden acercarse mucho al funcionamiento interno de una máquina o alejarse de él para facilitar el trabajo del programador.

Entre todos los lenguajes que han marcado la evolución del software, C ocupa un lugar especial. Nació en los años setenta y terminó convirtiéndose en una herramienta fundamental para desarrollar sistemas operativos y programas que necesitaban trabajar de forma eficiente con el hardware. 

Más de medio siglo después, muchas tecnologías siguen teniendo una relación directa o indirecta con aquel lenguaje. Precisamente por eso resulta interesante la opinión de Dennis Ritchie, el científico que creó C. 

Su valoración sobre su propia creación resume una paradoja que explica buena parte de su éxito, ya que Ritchie describió el lenguaje como “peculiar, imperfecto y un éxito rotundo”. 

No estaba diciendo que C fuera un mal lenguaje, sino que su enorme influencia no se debe a que fuera perfecto, sino a que resolvió muy bien un problema que la informática necesitaba solucionar.

C nació para hacer algo que el ensamblador complicaba demasiado

Letra C del lenguaje
Letra C del lenguajeMontaje/Unsplash

Ritchie desarrolló C en Bell Labs, durante los primeros años de la década de 1970, donde el trabajo estuvo estrechamente relacionado con Unix, el sistema operativo que estaba desarrollando junto a Ken Thompson y otros investigadores.

En 1972, Ritchie completó la primera versión de C, donde el lenguaje permitía trabajar con un nivel de abstracción mayor que el ensamblador sin perder un control considerable sobre la máquina. 

Esa combinación resultó decisiva para Unix, porque permitió trasladar el sistema a diferentes ordenadores sin tener que reconstruirlo completamente para cada arquitectura. 

C no intentaba ocultar cómo funcionaba el ordenador. Permitía al programador acercarse a la memoria y al hardware cuando era necesario, pero proporcionaba herramientas suficientes para escribir programas de una manera mucho más manejable.

¿Qué quería decir Ritchie al llamarlo imperfecto?

La frase de Ritchie adquiere sentido cuando se observan algunas características de C desde la perspectiva actual. Su sintaxis puede resultar poco intuitiva para quien empieza a programar y el lenguaje ofrece relativamente pocas protecciones automáticas.

Uno de los ejemplos más importantes es la ausencia de comprobaciones integradas para evitar determinados accesos fuera de los límites de la memoria. Eso permite cometer errores que pueden provocar fallos o vulnerabilidades. 

C tampoco intenta impedir al programador que realice determinadas operaciones de bajo nivel. Pero esas limitaciones forman parte de la misma filosofía que hizo útil al lenguaje. Ya que C concede mucha libertad a cambio de exigir más responsabilidad al programador. 

En una época en la que el rendimiento y el control de los recursos eran fundamentales, esa característica podía ser una ventaja mucho más importante que las protecciones adicionales que ofrecen lenguajes posteriores.

El éxito del lenguaje no terminó con el desarrollo de Unix. En 1978, Ritchie y Brian Kernighan publicaron The C Programming Language, conocido habitualmente como K&R, un libro que ayudó a convertir C en una referencia para varias generaciones de programadores. 

La influencia del lenguaje también se extendió a otros proyectos. C++, creado por Bjarne Stroustrup, nació directamente sobre sus fundamentos, mientras que lenguajes como Objective-C, Java, C#, PHP, JavaScript y Go incorporaron elementos de su sintaxis.

Dennis Ritchie, una figura esencial de la informática

Dennis Ritchie
Dennis RitchieThe Harvard Crimson

Nació en 1941 en Estados Unidos, estudió Física en Harvard y posteriormente obtuvo un doctorado en Matemáticas. Se incorporó a Bell Labs en 1967, donde participó inicialmente en el proyecto Multics antes de trabajar junto a Thompson en Unix y desarrollar C. 

Su carrera estuvo vinculada durante décadas al desarrollo de software de sistemas. También dirigió investigaciones relacionadas con Plan 9 e Inferno y llegó a dirigir el departamento de investigación de software de sistemas de Bell Labs. Se retiró oficialmente en 2007. 

Ritchie recibió junto a Thompson algunos de los reconocimientos más importantes de la informática, entre ellos el Premio Turing en 1983 y la Medalla Nacional de Tecnología de Estados Unidos en 1999. Murió el 12 de octubre de 2011, a los 70 años. 

La historia de C demuestra que la influencia de una tecnología no depende necesariamente de que sea impecable, sino que Ritchie entendía sus limitaciones, pero también sabía qué había conseguido. 

C ofreció el equilibrio adecuado entre control, eficiencia y portabilidad en un momento decisivo, y esa combinación terminó dejando una huella que todavía puede encontrarse en buena parte del software en la actualidad.

Más información sobre: