Stephen C. Johnson | |
---|---|
Nacido | Stephen Curtis Johnson 1944 (79-80 años) |
Alma máter | |
Ocupación | Científico informático |
Conocido por | Yacc , Lint , compilador C portátil |
Carrera científica | |
Campos | Ciencias de la Computación |
Instituciones | Laboratorios Bell |
Tesis | Descomposiciones categóricas (1968) |
Asesores de doctorado | Samuel Eilenberg |
Stephen Curtis Johnson (nacido en 1944) es un científico informático que trabajó en Bell Labs y AT&T durante casi 20 años. Es más conocido por Yacc , Lint , spell y el Portable C Compiler , que contribuyó a la difusión de Unix y C. [1] También ha contribuido a campos tan diversos como la música informática , la psicometría y el diseño VLSI . [2]
La pasión de Johnson por la informática comenzó a los cinco años, cuando su abuelo lo llevó a trabajar en la Oficina de Normas . La computadora que vio ("del tamaño de una casa pequeña") le causó una fuerte impresión y decidió que "quería trabajar con computadoras y nunca miró atrás". [2]
No había clases de informática en la universidad, por lo que estudió matemáticas, área en la que finalmente obtuvo un doctorado.
Johnson se incorporó a Bell Labs y AT&T en la década de 1960 y trabajó en herramientas Unix durante casi 20 años, junto a científicos informáticos como Jeffrey Ullman , Dennis Ritchie y Alfred Aho . Fue más conocido por escribir Yacc , Lint y el compilador C portátil .
A mediados de los años 1970, Johnson y su colega de Bell, Dennis Ritchie, fueron coautores del primer port de Unix para AT&T . También "demostraron que Unix era portable ", lo que Ritchie considera la chispa que llevó a que Unix se generalizara. [3] A mediados de los años 1980, se desempeñó como jefe del Departamento de Lenguajes UNIX ( UNIX System V ). [2]
Johnson desarrolló Yacc a principios de los años 70 porque quería insertar un operador exclusivo or en el compilador de lenguaje B de Ritchie . [4] Su colega de Bell Labs, Alfred Aho, le sugirió que mirara el trabajo de Donald Knuth sobre el análisis LR , que sirvió como base para Yacc. [2] En una entrevista de 2008, Johnson reflexionó que "la contribución que Yacc hizo a la difusión de Unix y C es de lo que estoy más orgulloso". [1] Lint se desarrolló en 1978 mientras Johnson estaba depurando la gramática Yacc que estaba escribiendo para C y luchando con problemas de portabilidad derivados de portar Unix a una máquina de 32 bits . [2] [5]
En 1986, Johnson se mudó a Silicon Valley , donde se unió a varias empresas emergentes , donde trabajó principalmente en compiladores , pero también en gráficos 2D y 3D, computación paralela masiva y sistemas integrados . Las empresas emergentes incluían Dana Computer, Inc. , [6] Melismatic Software y Transmeta , que fabricaban microprocesadores de bajo consumo compatibles con Intel . [2]
Johnson formó parte de la junta directiva de USENIX durante diez años, incluidos cuatro años como presidente a principios de los años 1990. Actualmente se desempeña como representante de USENIX ante la Asociación de Investigación Informática . [ cita requerida ]
En 2002, se mudó a Boston para trabajar en MathWorks , [7] donde ayudó a mantener la interfaz del lenguaje de programación MATLAB , para el que también creó un producto de lint llamado M-Lint. Había conocido al fundador de MathWorks, Cleve Moler, mientras trabajaba en una empresa emergente de Silicon Valley y desarrolló una "relación de consultoría a larga distancia" con él en la década de 1990. [2]
En 2018, Johnson vivía en Morgan Hill, California, y trabajaba en computadoras energéticamente eficientes para el aprendizaje automático en Wave Computing. [8]