Dennis Ritchie

Si alguna vez dijeran que las personas con un gran genio no van a morir, la vida seria un poco mas sencilla y asombrosa ante las cosas que ellos pueden ofrecer.

Primero se va con un gran legado el señor Steve Jobs y ahora le toca al Creado de ‘C’ y UNIX abandonar este mundo.

Dennis MacAlistair Ritchie nació el 9 de Septiembre de 1941 en Bronxville una pequeña villa de unos dos mil habitantes situada a unos 25 kilómetros al norte de Manhattan, New York. Se graduó en 1963 en la Universidad de Harvard con honores en física. Recibió un Doctorado de Investigación en 1968 matemáticas aplicadas. Ingresó en el Centro de Investigación para Ciencias de la Computación de los Laboratorios Bell de la AT&T en 1967 siguiendo los pasos de su padre, Alistair E. Ritchie quien tenia una larga carrera allí.

En 1968 ingresó en el equipo de desarrollo del sistema operativo Multics (Multiplexed Information andComputing Service) donde trabajó junto a multitud de leyendas de la programación y la arquitectura de sistemas como Fernando J.Corbató o Peter James Denning. Aunque si Dennis Ritchie es famoso por algo es por ser el creador del lenguaje de programación C.

Unix

No existe duda alguna de que C es el lenguaje de programación más popular y famoso de todos los tiempos. C es un lenguaje de programación imperativa para implementación de sistemas. Aunque al ser tan popular también se ha desarrollado infinidad de aplicaciones con él. C presenta facilidades para la programación estructurada, permite ámbito léxico variable y recursión, además esta fuertemente orientado a tipos con un sistema estático que impide operaciones no deseadas.

Como ya he apuntado anteriormente, Ritchie entró en el grupo de desarrollo de Multics en 1968, para entonces, los Bell Labs ya estaban bastante frustrados por los serios problemas que presentaba Multics y poco a poco fueron desplazando el proyecto. Los últimos investigadores en abandonar el proyecto, decidieron reescribir todo el trabajo desde cero y a menor escala. Entre esos investigadores se encontraban Dennis Ritchie y Ken Thompson —al que dedicaremos unas líneas en el futuro—.

Ritchie estaba convencido en crear un sistema operativo sobre el cual pudiera desarrollarse una comunidad ya que creía fervientemente en la computación comunal en la que era necesaria la comunicación estrecha entre personas a través de accesos remotos.

Como Ken Thompson aún tenía acceso al entorno de Multics, escribió un simulador para el nuevo sistema de ficheros y de paginación en él. También programó el famoso juego Space Travel, pero el juego requería de una máquina más eficiente y barata sobre la que ejecutarse, así primero fue portado a FORTRAN en un sistema GECOS y finalmente fue portado por Dennis Ritchie y Ken Thompson al lenguaje ensamblador de una máquina PDP-7.

Fue en ese proceso de portar el código de FORTRAN a lenguaje ensamblador del PDP-7 cuando Thompson y Ritchie escribieron el código subyacente que finalmente se convirtió en el sistema operativo originario de UNIX. Junto a Rudd Canaday desarrollaron un sistema de ficheros jerárquico, los conceptos de proceso de ejecución y de archivos de dispositivo, un intérprete de línea de comandos y algunas aplicaciones y utilerías. Muchos consideran a Space Travel como la primera aplicación del sistema UNIX.

En 1970 el equipo de desarrollo liderado por Dennis Ritchie y Ken Thompson necesitaban migrar el sistema a una plataforma más potente y pusieron su vista en la PDP-11/20. Y el manual del programador de UNIX salió a la luz el 3 de Noviembre de 1971. En 1972 y contra toda razón, UNIX fue portado al lenguaje de programación C de forma contraria a la idea general de la época de que “algo tan complejo como un sistema operativo, que debía tratar con eventos en tiempos críticos, debía estar escrito completamente en lenguaje ensamblador”.

Sin embargo el portar el código fuente de UNIX a un lenguaje de más alto nivel como C, derivó en un código mucho más portable que requería de cambios mínimos en su código cuando se portaba UNIXa otra plataforma cosa que parecía que iba a ser cada vez más común. La incapacidad del lenguaje de programación B para usar las ventajas de la máquina PDP-11, especialmente del direccionamiento de byte llevó a Ritchie a desarrollar la primera versión de C.

La primera versión del UNIX para PDP-11 fue completamente escrito en lenguaje ensamblador, pero cuando las primigenias versiones de C ya soportaban los tipos de estructura, la mayor parte del núcleo de UNIX fue portada a C. El núcleo de UNIX se convirtió así en uno de los primeros núcleo de sistemas operativos escrito en algo diferente a lenguaje ensamblador junto a Multics y MPC.

Si no fuera por Dennis Ritchie y por Ken Thompson, UNIX jamás hubiera existido, tampoco hubiera existido por tanto BSD, o Solaris o Minix y mucho menos Linux, tampoco existiría Mac OS X. Y si no fuera especialmente por Dennis Ritchie, no existiría C, no existirían muchos conceptos que en su díarompieron esquemas a través de su innovadora visión y se convirtieron en al ABC de la teoría de los sistemas operativos por lo que sería complicado que hubieran existido hoy sistemas como Windows, PlayStation, o PCs. Sin C otros muchos lenguajes que se basaron o inspiraron en C tampoco existirían hoy y por nombrar solo unos pocos:

  • C++
  • C#
  • Objective-C
  • D
  • Java
  • JavaScript
  • Limbo
  • Perl
  • PHP

Y por supuesto, tampoco existiría ninguno de los lenguajes basados en los pocos de la lista anterior. Si existe alguien a quien haya que agradecerle especialmente su trabajo y dedicación, no cabe duda de que ese es Dennis Ritchie.

Fuentes: Dennis Ritchie , Historia de Unix

Alex Fuser

Blogger, musica como inspiracion, artistisco por convicción. Colaborador en Tequila Valley, ReMo en Fundación Mozilla y miembro de Mozilla México, Entrepreneur, creando proyectos con una taza de café