Kenneth Thompson, o como lo llaman «Ken», el creador de UNIX y co-inventor del lenguaje» C». Nació en febrero de 1943 en Nueva Orleans, Luisiana. Ken es un científico informático y co-ganador del Premio A. M. Turing con Dennis Richie en 1983, este premio es el más alto honor en ciencias de la computación. Thompson y Ritchie fueron citados conjuntamente por el desarrollo de teorías de sistemas operativos genéricos y específicamente por la implementación del sistema operativo UNIX que inventaron en los Laboratorios Bell. Ken obtuvo la licenciatura en 1965 y la Maestría en 1966 en el campo de la ingeniería eléctrica de la Universidad de California, Berkeley (UCB). Se fue a trabajar a los Laboratorios Bell después de graduarse, donde trabajó primero en el proyecto Multics.
«Creo que la mejor idea en UNIX fue su interfaz limpia y sencilla: abrir, cerrar, leer y escribir.»
Ken Thompson
Bell Laboratories & UNIX
En 1966, Ken fue contratado por Bell Labs para trabajar en el proyecto MULTICS (El Servicio de Informática e Información Multiplexada). El proyecto fue diseñado con un consorcio que incluía a General Electric (GE), el Instituto Tecnológico de Massachusetts (MIT) y Bell Labs, ya que era el sucesor del Sistema de Tiempo Compartido Compatible (CTSS) del MIT, MULTICS era un sistema operativo ambicioso, innovador y de gran tamaño que debía soportar cientos de usuarios simultáneos. Desafortunadamente, el proyecto pronto se volvió difícil de manejar, lo que, con el hecho de que tuvo problemas para acomodar a más de tres usuarios simultáneos, resultó en su desaparición gradual.
» Es solo la insuficiencia del código penal lo que salva a los hackers de un procesamiento muy serio.»
Ken Thompson
1969 fue el año mágico cuando nació UNIX, los humanos fueron por primera vez a la luna, ARPANET fue lanzado (el precursor en Internet), así como una serie de otros eventos interesantes ocurrieron. También fue el año en que Thompson escribió el juego de Viajes Espaciales.
El Juego de viajes Espaciales
Este juego observó paisajes y aterrizó en diferentes planetas y sus lunas, permitió al piloto volar un vehículo alrededor de la simulación del sistema solar, jugó un papel más importante en el desarrollo de la industria informática que cualquier otro juego. Ken Thompson escribió el juego originalmente para usarlo en MULTICS, pero pronto comenzó a trabajar en reescribirlo para usarlo en una computadora PDP-7 poco usada y ya obsoleta que estaba en los Laboratorios Bell. No solo Space Travel fue uno de los primeros juegos que se usaron en cualquier computadora y uno de los primeros programas de aplicaciones que se ejecutaron en UNIX, sino que también sirvió como una valiosa introducción para Ken al incómodo proceso de preparación de programas para el PDP-7. Esa competencia que obtuvo con el PDP-7 fue uno de los principales factores que hicieron posible su desarrollo de UNIX.
«Todavía tengo un trabajo de jornada completa, por lo que me llevó cinco años escribir Un oído en el suelo, y por qué no tendré otro libro terminado para la próxima semana.»
Ken Thompson
Bell Labs se retiró del proyecto MULTICS y Ken Thompson en 1969 decidió escribir su propio sistema operativo, porque quería un sistema decente en el que pudiera ejecutar su juego en el PDP-7. Lo logró en poco más de un mes, mientras su hijo Corey y su esposa Bonnie visitaban a la familia en San Diego, California. Pasó casi una semana escribiendo el shell (Utilizado para leer y ejecutar comandos que se escriben en la computadora), el núcleo (El núcleo del sistema operativo), un editor y un ensamblador (Programa para convertir el código fuente en código máquina que puede ser entendido directamente por la CPU de la computadora). Ken escribió todo eso en lenguaje ensamblador PDP-7.
» Quería separar los datos de los programas, porque los datos y las instrucciones son muy diferentes.»
Ken Thompson
La computadora PDP-7
La PDP-7 fue la computadora en la que Ken desarrolló y también corrió por primera vez su sistema operativo. Tenía una longitud de palabra de 18 bits y solo cuatro kilobytes de memoria3, que era solo una pequeña fracción de la capacidad de un disquete moderno. Esa memoria extremadamente pequeña fue un factor importante para que Ken mantuviera su sistema operativo pequeño y también le proporcionara una elegante simplicidad que ha jugado un papel muy importante en el éxito de él y sus descendientes espirituales.
El desarrollo de UNIX
En 1970, Thompson escribió un lenguaje de programación llamado lenguaje «B», que comenzó a mejorar el lenguaje básico de lenguaje de programación combinado (BCPL). Lo más importante que tenemos que decir sobre B es que se convirtió en el precursor del lenguaje «C», que fue completado y lanzado por Dennis Ritchie en 1972. Esta fue la insistencia de Ken Thompson, para mantener su filosofía sobre la simplicidad, que fue responsable de que el nombre del nuevo lenguaje de Dennis Ritchie se mantuviera corto y simple. «C» más tarde se convirtió en uno de los lenguajes de programación más poderosos y ampliamente utilizados del mundo, y lo sigue siendo incluso hoy en día. Dennis Ritchie se unió a Bell Labs directamente al año siguiente de Ken Thompson y jugó un papel importante en el desarrollo temprano de UNIX.
«Eso me lleva a Dennis Ritchie. Nuestra colaboración ha sido una belleza.»
Ken Thompson
Ken Thompson reescribió el núcleo de UNIX en el lenguaje » C » en 1972, que fue el movimiento que cambió y aseguró el éxito futuro de UNIX, ya que hizo que el UNIX fuera más portátil. Esto significa que» C » permitió que UNIX se adaptara a diferentes plataformas con relativa facilidad, rompiendo así la práctica de larga data de vincular los sistemas operativos al hardware en el que podrían ejecutarse.
En 1973, Ken Thompson hizo la primera presentación pública sobre UNIX. La publicación del artículo de su presentación en una prestigiosa revista en 1974 le dio al sistema otra gran visibilidad dentro de la comunidad académica. La publicación fue notada por las personas adecuadas en la UCB, el alma mater de Ken, que condujo a la 1a copia del sistema operativo y se estaba enviando a esa universidad.
Esto también llevó al regreso de Ken a la UCB en 1975, donde Thompson se desempeñó como profesor visitante en 1976. Habían comenzado a usar UNIX, y Ken Thompson necesitaba ayudarlo a desarrollar aún más su sistema. Para Ken, el beneficio fue, además de la nostalgia, una oportunidad de trabajar con nuevos grupos de personas y el consiguiente estímulo intelectual adicional que resultó en que UCB se convirtiera en uno de los dos desarrolladores líderes de UNIX.
«Tengo que mantenerme al día con la literatura científica como parte de mi trabajo, pero cada vez más me encontré leyendo cosas que no eran realmente relevantes para mi trabajo académico, pero que eran relevantes para la jardinería.»
Ken Thompson
Más tarde, y mientras Ken Thompson regresaba a Bell Labs, él y Rob Pike fueron los principales creadores del nuevo sistema operativo llamado Plan 9, que fue creado basado en UNIX pero que incorporó varias innovaciones. Como parte de ese trabajo, Ken también creó el formato de transformación Unicode de ocho bits (UTF-8), que ahora se usa universalmente para fines de codificación de caracteres. Entre las otras actividades de Ken también estaba el desarrollo del software mejorado para jugar al ajedrez.
Thompson y Ritchie han recibido un reconocimiento adicional de la industria en 1983 al ser galardonados con el premio Turing ACM, que es ampliamente considerado como el premio más prestigioso en la comunidad académica de ciencias de la computación.
Ken Thompson ve el gran éxito de UNIX como una cuestión de casualidad. Pero al mismo tiempo, también lo es, y debido al hecho de que UNIX facilitó un gran cambio de paradigma de varios ordenadores centrales altamente centralizados a ordenadores menos costosos, más pequeños y descentralizados que podrían ejecutar sistemas operativos estandarizados en lugar de estos sistemas dictados por sus fabricantes. Ken ve su propio éxito en el desarrollo de ese sistema en el hecho de que es un pensador de abajo hacia arriba. Thompson visualiza sistemas complejos centrándose inicialmente en sus componentes más básicos y en cómo interactúan estos componentes, en lugar de centrarse en sistemas completos.
«El servidor X tiene que ser el programa más grande que haya visto que no haga nada por ti.»
Ken Thompson
Durante la década de 1980, la influencia de UNIX en los círculos académicos llevó a una adopción a gran escala de UNIX por muchas startups comerciales, por ejemplo Solaris, HP-UX y AIX. Particularmente de la versión BSD, originaria de la Universidad de California, Berkeley. Hoy en día, además de los sistemas UNIX certificados que ya he indicado, los sistemas operativos tipo Unix como Linux y descendientes de BSD (NetBSD, FreeBSD y OpenBSD) se encuentran comúnmente.
En 1983, Ken Thompson fue nombrado fellow por Bell Labs. También ayudó a Dennis Ritchie en la creación del sistema operativo Plan 9 en 1995 y el sistema operativo Inferno en 1996 en Bell Labs. Más tarde, en 1998, Ken Thompson y Dennis Ritchie fueron galardonados juntos con la Medalla Nacional de Tecnología de los Estados Unidos por su desarrollo de UNIX.
«No puedes confiar en el código que no creaste por ti mismo.»
Ken Thompson
Ken Thompson es otro ejemplo real de historia moldeada por la persona adecuada que está lista en el momento adecuado en el lugar correcto. También es un ejemplo de cómo una sola persona con solo una idea y dedicación podría lograr algo que escapa a las grandes organizaciones con enormes concentraciones de talento y presupuestos. Por otra parte, también es un ejemplo de persona que ha creado una gran obra sin ninguna intención de beneficio personal, sino más bien debido a su dedicación a su oficio y su deseo de mejorarlo, el resultado es que el mundo también se mejora.
Ken Thompson decidió retirarse de Bell Labs en 2000 y se mudó más tarde a California. Más tarde, trabajó en Entrisphere, Inc como becario hasta 2006 y ahora trabaja en Google como Ingeniero Distinguido. Su trabajo reciente incluyó el co-diseño del lenguaje de programación Go.
Premios Thompson
- Academia Nacional de Ingeniería en 1980
- Premio Turing en 1983
- Medalla IEEE Richard W. Hamming en 1990
- Miembro del Museo de Historia de la Computadora en 1997
- Medalla Nacional de Tecnología en 1999
- Premio Tsutomu Kanai en 1999
- Japón Premio en 2011