dennis_ritchie

Steve Jobs murió el 5 de octubre de 2011. El mundo se detuvo. Las banderas de Apple ondearon a media asta, los líderes mundiales emitieron comunicados, las portadas de los periódicos dedicaron páginas enteras al cofundador de Apple. Una semana después, el 12 de octubre, Dennis MacAlistair Ritchie fue encontrado sin vida en su casa de Berkeley Heights, Nueva Jersey. La noticia apenas ocupó un par de párrafos en los medios generalistas. La ironía es que, sin el trabajo de Ritchie, los dispositivos que Jobs diseñó no habrían tenido nada útil que ejecutar.

No es una exageración. Es aritmética.

El hijo de Bell Labs que no quiso ser físico

Dennis Ritchie nació el 9 de septiembre de 1941 en Bronxville, Nueva York. Su padre, Alistair E. Ritchie, era ingeniero de Bell Laboratories y coautor de un libro de referencia sobre teoría de circuitos de conmutación. La computación era, literalmente, un asunto de familia. Dennis creció en Summit, Nueva Jersey, y estudió física en Harvard, donde se graduó en 1963.

Hay un detalle que dice mucho de él. Ritchie contó en más de una ocasión que su experiencia como estudiante de física le convenció de que «no era lo suficientemente inteligente para ser físico, pero que los ordenadores eran bastante interesantes». Después añadía, con esa sequedad que le caracterizaba, que sus estudios de posgrado en matemáticas aplicadas le confirmaron que «tampoco era lo suficientemente inteligente para ser experto en teoría de algoritmos, y que prefería los lenguajes procedimentales a los funcionales».

Y aquí aparece una de las historias más curiosas y menos conocidas de la informática: Ritchie completó su tesis doctoral sobre teoría de funciones recursivas hacia finales de 1967. Casi 180 páginas de expresiones matemáticas densas. La escribió, la pasó a sus evaluadores… y nunca la depositó formalmente en la biblioteca de Harvard. Nunca recibió el doctorado. Durante décadas, nadie supo si tenía el título o no — ni siquiera cuando recibía el Premio Turing o la Medalla Nacional de Tecnología de manos del presidente Clinton. La tesis estuvo perdida durante casi cincuenta años hasta que, tras su muerte, su hermana Lynn encontró una copia gracias a la viuda de su antiguo director de tesis. Este episodio, sacado a la luz por el Computer History Museum en 2020, revela algo fundamental sobre el carácter de Ritchie: le importaban más los problemas que los títulos.

En 1967, Ritchie entró a trabajar en los Laboratorios Bell, el mismo lugar donde su padre había dedicado su carrera. Bell Labs era, en aquella época, probablemente el entorno de investigación más fértil de la historia de la tecnología. Allí se había inventado el transistor, allí Claude Shannon había desarrollado la teoría de la información, allí se había concebido el láser. La estructura de Bell Labs — financiación generosa, horizontes temporales largos, ninguna presión comercial inmediata y una concentración de mentes excepcionales en un mismo lugar — producía descubrimientos a un ritmo que ninguna institución ha igualado desde entonces.

Multics, el fracaso que lo hizo posible todo

Una de las primeras tareas de Ritchie en Bell Labs fue trabajar en Multics (Multiplexed Information and Computing Service), un proyecto conjunto entre Bell Labs, el MIT y General Electric que aspiraba a crear un sistema operativo de tiempo compartido para cientos de usuarios simultáneos. Era un proyecto ambicioso — demasiado ambicioso, como se demostró. Bell Labs se retiró en 1969 al concluir que Multics se había vuelto excesivamente complejo y costoso.

Pero los investigadores que habían trabajado en Multics — Ritchie, Ken Thompson, Douglas McIlroy, Joe Ossanna — se habían empapado de un conjunto de ideas poderosas sobre diseño de sistemas operativos: tiempo compartido, sistemas de ficheros jerárquicos, gestión de procesos y la separación entre el sistema operativo y las aplicaciones. No iban a dejar que esas ideas murieran con el proyecto.

Thompson, en particular, estaba decidido a construir algo más pequeño, más limpio, más práctico. En el verano de 1969, mientras su mujer y su hijo estaban de visita en casa de unos familiares en California, Thompson aprovechó tres semanas de trabajo ininterrumpido para escribir la primera versión de lo que acabaría llamándose Unix — el sistema de ficheros, la gestión de procesos, el intérprete de comandos — una semana para cada componente principal. Lo hizo en una PDP-7 abandonada que estaba cogiendo polvo en un pasillo de Bell Labs.

Ritchie se unió al proyecto poco después, y entre los dos portaron Unix al PDP-11, una máquina más potente. El nombre «Unix» fue idea de Brian Kernighan, como juego de palabras con Multics: si Multics era multiplexado, Unix era «uni», una cosa a la vez, pero bien hecha.

C: el lenguaje que no debería haber sido tan importante

Si Unix fue la casa, C fue el material con el que se construyó. Y la historia de C empieza con las limitaciones de otro lenguaje.

Thompson había creado un lenguaje llamado B (derivado de BCPL, de Martin Richards) para trabajar en Unix. Pero cuando portaron el sistema al PDP-11, las carencias de B se hicieron evidentes: no tenía tipos de datos, no distinguía entre caracteres y enteros, y no podía aprovechar bien el hardware del PDP-11. Ritchie tomó B como punto de partida y lo fue extendiendo durante 1971 y 1972: añadió un sistema de tipos, estructuras (structs) y la aritmética de punteros que permitía escribir software de sistemas con un control total sobre la memoria.

El resultado fue C. En 1973, Ritchie y Thompson reescribieron el kernel de Unix en C. Esta decisión tuvo consecuencias enormes, porque significaba que Unix podía portarse a nuevas plataformas recompilando el código C, en lugar de reescribirlo todo en ensamblador desde cero. Antes de C, cada nueva arquitectura de hardware exigía un reescritura completa. Después de C, el software escrito para una máquina podía ejecutarse en otra con un esfuerzo razonable. Unix saltó del PDP-11 al VAX, de ahí a las estaciones de trabajo Motorola 68000, después a los procesadores MIPS, y finalmente a los chips Intel x86 que dominan el mundo actual.

En 1978, Ritchie y Brian Kernighan publicaron The C Programming Language, conocido universalmente como «K&R» o «el libro blanco». Fue traducido a más de veinte idiomas y, durante los años noventa, la inmensa mayoría de los estudiantes de informática aprendieron C con él. Kernighan dijo después que Ritchie nunca esperó que C alcanzara semejante relevancia. Y sin embargo, C no solo sobrevivió: engendró C++, influyó decisivamente en Java, C#, Objective-C y, por extensión, en casi todos los lenguajes que se usan hoy para construir sistemas.

La filosofía Unix: hacer una cosa bien

Unix, más allá de ser un sistema operativo, promovió una cultura de trabajo y desarrollo que sigue impregnando la comunidad técnica casi sesenta años después. La idea de herramientas pequeñas que hacen bien una sola tarea y pueden combinarse mediante pipes para resolver problemas complejos es una filosofía que se refleja en la línea de comandos, los scripts y la automatización moderna. Los principios de diseño de Unix — transparencia, reutilización, simplicidad — son valores que guían muchas prácticas actuales en DevOps y SRE.

Para quien administra sistemas hoy, esa herencia es tangible. Cada vez que encadenas un grep con un awk con un sort, cada vez que escribes un script que resuelve un problema combinando herramientas pequeñas, estás aplicando la filosofía que Ritchie, Thompson y sus colegas articularon hace más de medio siglo.

El hombre detrás del código

Rob Pike, creador de Go y compañero de Ritchie en Bell Labs durante décadas, escribió tras su muerte que no sabía cómo explicar el efecto profundo que Dennis había tenido en el mundo de la computación, salvo diciendo que sin él, a nivel genral, el mundo sería un lugar menos conectado, menos capaz y menos interesante.

La familia de Ritchie — sus hermanos Lynn, John y Bill — publicó una nota tras su fallecimiento que quizá sea el mejor retrato que se ha escrito de él: «Dennis fue un hermano infaliblemente amable, dulce, modesto y generoso — y, por supuesto, un completo geek. Tenía un sentido del humor hilarantemente seco y una aguda apreciación por los absurdos de la vida, aunque su visión del mundo estaba completamente desprovista de cinismo o mala intención.»

Ritchie fue conocido por dar siempre el crédito a otros mientras minimizaba sus propias contribuciones. En la sección de agradecimientos de un artículo retrospectivo de 1996 sobre la evolución de Unix, escribió: «El lector no se equivocará mucho, de media, si lee cada aparición de ‘nosotros’ con antecedente poco claro como ‘Thompson, con algo de ayuda mía’.»

Tras la retirada de Bell Labs de Multics, Ritchie también lideró el desarrollo de Plan 9 y del sistema operativo Inferno en los años noventa, buscando llevar las ideas de Unix más lejos. Se jubiló de Bell Labs (entonces ya Alcatel-Lucent) en 2007, pero siguió yendo al laboratorio cada día hasta su muerte. En su conocida red en Usenet, firmaba simplemente como «dmr» — sus iniciales de correo electrónico. Sin más. Sin títulos.

Murió a los 70 años, tras una larga batalla con un cáncer de próstata y problemas cardíacos. Fedora 16, publicada un mes después, fue dedicada a su memoria. FreeBSD 9.0, publicada en enero de 2012, también.

La conexión con el presente

En la actualidad, cuando hablamos de eficiencia, portabilidad y mantenibilidad en sistemas, estamos usando conceptos que fueron precisamente los que motivaron a Ritchie en su trabajo. Comprender ese contexto ayuda a valorar por qué Unix y C siguen vigentes, y por qué tantos sistemas modernos — desde servidores Linux hasta dispositivos IoT, desde Android hasta macOS — siguen usando herramientas y lenguajes que descienden directamente de sus ideas.

Brian Kernighan lo resumió para el New York Times tras la muerte de su colega: las herramientas que Dennis construyó, y sus descendientes directos, hacen funcionar prácticamente todo hoy en día. Y recordó que tanto C como Unix fueron fundamentales en el desarrollo de los grandes proyectos posteriores, incluido el iPhone. Es decir: Steve Jobs construyó su imperio sobre los cimientos que Dennis Ritchie había puesto décadas antes, en silencio.

La filosofía técnica de Ritchie invita a quienes trabajamos en tecnología a buscar soluciones elegantes y pragmáticas, evitando complejidades innecesarias. Cuando a veces la tendencia de las tecnologías es que cambian rápidamente, tener una base sólida y un enfoque claro puede marcar la diferencia entre sistemas frágiles y sistemas robustos. Ritchie lo demostró con su vida y con su código.


Para seguir aprendiendo

Algunas referencias recomendadas para profundizar en la vida y obra de Dennis Ritchie:

  • «The C Programming Language», Brian W. Kernighan y Dennis M. Ritchie (Prentice Hall, 1978; 2ª ed. 1988) — El clásico absoluto. Conocido como «K&R», es imprescindible para entender C directamente de uno de sus creadores. Disponible en Amazon
  • Página personal de Dennis Ritchie en Bell Labs — Mantenida actualmente por Nokia, contiene su autobiografía, artículos técnicos y la famosa foto con Ken Thompson frente al PDP-11. nokia.com/bell-labs/about/dennis-m-ritchie
  • «The Art of Unix Programming», Eric S. Raymond (Addison-Wesley, 2003) — Análisis profundo de la filosofía y cultura técnica impulsada por Unix. Disponible también gratis online. Versión online
  • «Discovering Dennis Ritchie’s Lost Dissertation», David C. Brock, Computer History Museum (2020) — La fascinante historia de la tesis doctoral perdida de Ritchie. computerhistory.org
  • «The UNIX Time-Sharing System», Dennis M. Ritchie y Ken Thompson (Communications of the ACM, julio 1974) — El artículo fundacional que presentó Unix al mundo académico. Disponible en el archivo de Bell Labs
  • Perfil en el Computer History Museum — Biografía oficial y reconocimiento como Fellow del museo. computerhistory.org/profile/dennis-ritchie
  • dmrthesis.net — Sitio web dedicado a la tesis perdida de Ritchie, mantenido por su hermano Bill. Una joya para curiosos. dmrthesis.net

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies