Dennis Ritchie, el genio olvidado

  Se puede afirmar, sin ninguna duda, que Dennis Ritchie (1941 - 2011) es uno de los grandes fundadores de la informática actual. Sus mayores creaciones fueron el sistema operativo Unix (junto a Ken Thompson, Brian Kernighan, Douglas McIlroy, y Joe Ossanna) y el lenguaje de programación C. Sin embargo, a pesar de sus logros, y de algunos premios espaciados en el tiempo, este gran genio informático es un desconocido incluso dentro del gremio informático, al contrario que otros que, valiéndose de los descubrimientos de este hombre, se enriquecieron sin darle su merecido reconocimiento.

  Al igual que sucede con Steve Dikto en el mundo del cómic, Rosalind Franklin en el mundo de la biología, o Wilhelm Conrad Röntgen en el mundo de la física, Dennis Ritchie, fuera de su círculo social cercano, es bastante desconocido en el gremio informático, del mismo modo que le sucede a Alan Mathison TuringTim Berners-Lee.

UNIX

  Junto al sistema operativo Multics, Ritchie, y un grupo de compañeros de trabajo, desarrolló el sistema operativo Unix, que era portable, multitarea y multiusuario, en 1969. Este sistema operativo, diseñado en los laboratorios Bell de AT&T, ha sentado las bases de los sistemas operativos modernos, como GNU/Linux y Mac OS X, estableciendo conceptos y principios que hoy son ampliamente adoptados.
  En su primer diseño, Unix fue escrito, por Ken Thompson y Dennis Ritchie, en lenguaje ensamblador, para que se ejecutase en una computadora DEC PDP-7. Esta experiencia, junto al trabajo que desarrolló para el proyecto Multics, condujo a Thompson a iniciar la creación de un nuevo sistema operativo para la DEC PDP-7. Así, Thompson y Ritchie lideraron un grupo de programadores, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea en sí. A lo anterior, agregaron un intérprete de comandos y un pequeño conjunto de programas. El proyecto fue bautizado UNICS, como acrónimo Uniplexed Information and Computing System, pues solo prestaba servicios a dos usuarios. La autoría de esta sigla se le atribuye a Brian Kernighan, ya que era un programador de Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a UNICS un sistema MULTICS castrado ("eunuchs", en inglés, es un homófono de UNICS), se cambió el nombre a UNIX, dando origen al legado que llega hasta nuestros días.
  Hasta ese instante, no había existido apoyo económico por parte de los laboratorios Bell, pero eso cambió cuando el Grupo de Investigación en Ciencias de la Computación decidió utilizar UNIX en una máquina superior a la PDP-7. Thompson y Ritchie lograron cumplir con la solicitud de agregar herramientas que permitieran el procesamiento de textos a UNIX en una máquina PDP-11/20, y como consecuencia de ello consiguieron el apoyo económico de los laboratorios Bell. Fue así como por vez primera, en 1970, se habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se incluía en él un programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento de texto" inicial, compuesto tanto por el sistema operativo como de runoff y el editor de texto, fue utilizado en los laboratorios Bell para procesar las solicitudes de patentes que ellos recibían. Pronto, runoff evolucionó hasta convertirse en troff, el primer programa de edición electrónica que permitía realizar composición tipográfica. El 3 de noviembre de 1971 Thomson y Ritchie publicaron un manual de programación de UNIX (título original en inglés: UNIX Programmer's Manual).
  En 1972 se tomó la decisión de escribir nuevamente UNIX, pero esta vez en el lenguaje de programación C, que a esas alturas ya había sido desarrollado por Ritchie. Este cambio significaba que UNIX podría ser fácilmente modificado para funcionar en otras computadoras (de esta manera, se volvía portable) y así otras variaciones podían ser desarrolladas por otros programadores. Ahora, el código era más conciso y compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposición de universidades y compañías, también al gobierno de los Estados Unidos, a través de licencias. Una de estas licencias fue otorgada al Departamento de Computación de la Universidad de California, con sede en Berkeley. En 1975, esta institución desarrolló y publicó su propio sucedáneo de UNIX, conocida como Berkeley Software Distribution (BSD), que se convirtió en una fuerte competencia para la familia UNIX de AT&T.
  UNIX siguió desarrollándose en los años posteriores hasta nuestros días y, durante ese proceso, aparecieron nuevos sistemas operativos basados en este. Los más destacados son: Unix System V (la original de AT&T), BSD, AIX, Xenix, GNU, Linux, y Mac OS.

C

  C es un lenguaje de programación desarrollado​ como evolución del anterior lenguaje B, a su vez basado en BCPL. Dicho lenguaje está orientado a la implementación de sistemas operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.
  Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio nivel, ya que dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.
  La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy amplia por lo que, si los programas creados lo siguen, el código es portable entre plataformas y/o arquitecturas.
  Tras la creación de este lenguaje de programación, Ritchie, junto con Brian Kernighan, publicó el manual El lenguaje de programación C, que durante años fue el estándar de facto del lenguaje (conocido como K&R C), hasta la aparición del ya mencionado ANSI C.
  El lenguaje C se usa ampliamente hoy día en el desarrollo de aplicaciones y sistemas operativos, y ha sido una gran influencia en otros lenguajes más modernos como el lenguaje de programación Java.

RECONOCIMIENTOS A RITCHIE

  Gracias a sus grandes logros en el campo de la informática, y a pesar de su ingrata falta de popularidad por parte del gremio informático, Ritchie obtuvo prestigiosos premios a lo largo de su carrera, así como otros reconocimientos que, aunque menos pomposos, no son menos encomiables.
  Entre sus premios se encuentran:
  •   Premio NEC C&C (1979): Dennis Ritchie y Ken Thompson recibieron este premio por su contribución en el campo de los sistemas operativos genéricos y el desarrollo del sistema operativo UNIX.
  •   Premio Turing (1983): Ritchie y Ken Thompson lo recibieron por su desarrollo de la teoría genérica de sistemas operativos, y específicamente por la implementación del sistema operativo UNIX. La conferencia de Ritchie en el Premio Turing fue titulada Reflexiones en investigación de software.
  •   Medalla IEEE Richard W. Hamming (1990): Tanto Ritchie como Ken Thompson recibieron esta medalla del Institute of Electrical and Electronics Engineers (IEEE), por la creación del sistema operativo UNIX y del lenguaje de programación C.
  •   Medalla Nacional de Tecnología (21 de abril de 1999): Thompson y Ritchie recibieron en conjunto la susodicha medalla del presidente Bill Clinton por co-inventar el sistema operativo UNIX y el lenguaje de programación C que juntos han llevado a enormes avances en hardware de ordenadores, software, y sistemas de red, y estimularon el crecimiento de una industria entera, por lo tanto realzando el liderazgo norteamericano en la era de la información.
  •   Premio de Japón para Información y Comunicaciones (2011): Dennis Ritchie, junto con Ken Thompson, fue galardonado con este premio  por el trabajo pionero en el desarrollo del sistema operativo UNIX.
  Las distribuciones de Linux Fedora 16 y FreeBSD 9.0 están dedicadas a su memoria.
  Además, sobre este hombre se han publicado artículos y libros, sobretodo después de su fallecimiento. Cierto redactor comparó la importancia relativa de Steve Jobs y Ritchie, conluyendo "El trabajo de Ritchie representó un papel clave en el desarrollo de la revolución tecnológica de los últimos cuarenta años - incluyendo la tecnología sobre la cual Apple ha construido su fortuna"; mientras que otro comentarista dijo, "Ritchie, además, inventó y coinventó dos tecnologías de software claves que constituyen el ADN de efectívamente cada producto de software que usamos directa o indirectamente en la actualidad. Suena a exageración, pero realmente es cierto"; otro más dijo, "Muchos en las ciencias informáticas y campos relacionados conocen la importancia de Ritchie para el crecimiento y desarrollo de, bueno, todo lo relacionado con la informática...".
  No obstante, este último es muy optimista porque esos "muchos" no son suficientes dada la envergadura de lo que Ritchie dio al mundo, que, curiosamente, según su amigo Brian Kernighan, él mismo no se creía del todo su alcance, a lo que este hombre añadió: "Las herramientas que Dennis construyó - y sus descendientes directos - hacen funcionar prácticamente todo hoy en día". Y, sin embargo, suceden cosas tan paradójicamente irónicas como estas:


    Espero que esta entrada sirva de punto de partida para la reflexión del lector.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.