TRABAJO
DE INVESTIGACIÓN
DE
GABINETE
TEMA
A INVESTIGAR:
- VIDA DE DENNIS RITCHIE
ALUMNO:
- ANDERSON DAVID IBARRA KALLUS
Dennis MacAlistair Ritchie
Biografía
Nació
en Bronxville
(Nueva York) el 9
de septiembre de 1941.
Obtuvo dos grados
en Harvard,
en física y
matemática
aplicada.
En
1967 entró a trabajar en los Laboratorios
Bell, donde participó en los equipos que desarrollaron Multics,
BCPL, ALTRAN
y el lenguaje
de programación B. En Lucent
encabezó los esfuerzos para la creación de Plan
9 e Inferno,
así como del lenguaje
de programación Limbo.
C
y Unix
Ritchie
es conocido sobre todo por ser el creador del lenguaje
de programación C y cocreador, junto con Ken
Thompson, del sistema
operativo Unix.
También fue coautor junto con Brian
Kernighan del 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 ANSI
C.
Estos
aportes convirtieron a Ritchie en un importante pionero de la
informática
moderna. 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. Unix también 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.
El desarrollo de UNIX y la necesidad de C
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 UNIX
a 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.
Voy
a continuar con la serie sobre personalidades relacionadas con el
desarrollo de software hablando de uno de los pesos pesados del
mundo. Le debemos tanto que no se por donde empezar. Seguramente no
le haré nada de justicia y muchos datos serán altamente imprecisos,
espero que me perdone. Hoy voy a hablar sobre Dennis
Ritchie, creador de C y de UNIX.
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
and Computing
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.
El
desarrollo de UNIX y la necesidad de C
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
UNIX a 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.
K&R
C
En
1978, Brian Kernighan —al que también dedicaremos algunas líneas
más adelante— y Dennis Ritchie publicaron la primera edición de
El
lenguaje de programación C.
El libro pronto se empezó a conocer en la comunidad como K&R
C
o C de Kernighan y Ritchie y fue usado durante muchos años como una
especificación
informal
del lenguaje antes de la aparición del ANSI C.
El
C de Kernighan y Ritchie tenía algunas peculiaridades , como la de
que las funciones que no devolvían un tipo de valor diferente a un
entero, no tenían por qué ser definidos previamente con un
prototipo. Así por ejemplo esta sintaxis era válida en K&R C
pero no en ANSI C:
main()
{
...
}
En
1983, Ritchie y Ken Thompson recibieron conjuntamente el Premio
Turing por el desarrollo de la teoría genérica de sistemas
operativos y específicamente por la implementación del sistema
operativo UNIX. Ritchie nombró a su conferencia en la entrega del
Premio Turing como “Reflexiones sobre la Investigación del
Software”.
Ritchie
fue elegido miembro de la Academia Nacional de Ingeniería en 1988
por el desarrollo
del lenguaje de programación C y por el desarrollo conjunto del
sistema operativo UNIX.
En 1990, tanto Ritchie como Thompson recibieron la medalla IEEE
Richard W.Hamming del Instituto de Ingenieros Eléctricos y
Electrónicos
(IEEE) por “originar el sistema operativo UNIX y el lenguaje de
programación C”
El
21 de Abril de 1999 Ritchie y Thompson recibieron conjuntamente la
Medalla
Nacional de Tecnología
de 1998 de manos del presidente Bill Clinton por la
invención conjunta del sistema operativo UNIX y el lenguaje de
programación C que en conjunto han dado lugar a enormes avances en
el hardware, el software, redes de sistemas y ha estimulado el
crecimiento de una industria por completo, mejorando así el
liderazgo estadounidense en la era de la información.
Estos yankees es que son muy suyos.
Este
mismo año, Ritchie y Thompson han sido galardonados con el Premio
Japón de Información y Comunicación
por el trabajo pionero en el desarrollo del sistema operativo Unix.
Vida
después de UNIX y C
En
1990 Ritchie fue nombrado jefe
del
Departamento de investigación de Software en el Centro de
Investigación de los Laboratorios Bell en Murray Hill, New Jersey.
En 1996 fue nombrado director de desarrollo para la creación del
sistema operativo Plan 9 sucesor de Unix en Bell —del que también
hablaremos algún día :)—. En 1996 comienza a dirigir los
esfuerzos para la creación del sistema operativo Inferno, sistema
operativo distribuido que corre encima de otro sistema operativo a
través de una máquina virtual.
El
sistema operativo Plan 9 se basa en un Kernel
híbrido
y no en uno Monolítico como el de Unix.
Sobrenombres
Dennis
Ritchie es con frecuencia conocido como "dmr"
(su dirección de correo electrónico en Bell
Labs) en varios grupos
de noticias de Usenet
(como comp.lang.c). Ritchie es la "R"
de K&R
o K/R,
como se conoce popularmente al famoso libro sobre C
Premios
- Premio NEC C&C. En 1979, Dennis Ritchie y Ken Thompson recibieron el Premio NEC C&C por su contribución en el campo de los sistema operativos genéricos y el desarrollo del sistema operativo UNIX.
- Premio Turing. En 1983, Ritchie y Ken Thompson recibieron en conjunto el Premio Turing 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".2
- Medalla IEEE Richard W. Hamming. En 1990, tanto Ritchie como Ken Thompson recibieron la Medalla IEEE Richard W. Hamming del Institute of Electrical and Electronics Engineers (IEEE), "por la creación del sistema operativo UNIX y del lenguaje de programación C".3
- Medalla Nacional de Tecnología. El 21 de abril de 1999, Thompson y Ritchie recibieron en conjunto la Medalla Nacional de Tecnología de 1998 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 computadoras, 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.4 5
- Premio de Japón. En 2011, Dennis Ritchie, junto con Ken Thompson, fue galardonado con el Premio Japón para Información y Comunicaciones por el trabajo pionero en el desarrollo del sistema operativo UNIX.6
Muerte
Murió
la noche del miércoles 8 de octubre de 20117
en compañía de su familia. Su amigo Robert
Pike, fue el primero en
dar la noticia a través de la red social Google+.8
Con
apenas 32 años Dennis, quien llevaba seis años trabajando para los
Laboratorios Bell, presentaba en 1973 al mundo de la computación, el
lenguaje C, una evolución del lenguaje de programación B. El
lenguaje C fue concebido con el propósito de poder aprovechar el
aluvión tecnológico que se venía viviendo de manera
ininterrumpida. La aparición en masa de los primeros chips, o
circuitos integrados, dejaban atrás a las antiguas válvulas y
transistores para dar paso a una serie de equipos de computación
reducidos en tamaño y a su vez mejorados en cuanto a prestaciones y
rendimiento. De esta manera Ritchie, tal vez sin pensarlo, marcaba un
punto importante en la historia de la computación con su lenguaje de
programación catalogado como Medio nivel, que tenía muchas
particularidades de los lenguajes de bajo nivel.
No hay comentarios.:
Publicar un comentario