Stephen Curtis Johnson noto come Steve Johnson)[1] (1944) è un informatico statunitense che ha lavorato al Bell Labs e AT&T per circa vent'anni.
Egli è noto per Yacc, lint, spell, e per il Portable C Compiler, che hanno contribuito a diffondere il sistema operativo Unix e il linguaggio di programmazione C.[2] Ha contribuito anche in campi diversi come computer music, psicometria e VLSI design.[3].
Biografia
[modifica | modifica wikitesto]La sua passione per l'informatica iniziò all'età di cinque anni, quando suo nonno lo portò a lavorare presso il Bureau of Standards. Il computer che vide ("delle dimensioni di una piccola casa") fece una grande impressione su di lui, e decise che "avrebbe voluto lavorare con i computer e non se ne pentì mai".[3]
Poiché nel college nel quale studiava non c'erano lezioni di informatica, decise di studiare matematica, e alla fine conseguì un dottorato di ricerca.
Bell Labs e AT&T
[modifica | modifica wikitesto]Johnson lavorò in Bell Labs e AT&T, negli anni 1960, dedicandosi al linguaggio di programmazione Unix per circa vent'anni, assieme a scienziati come Jeffrey Ullman, Dennis Ritchie e Alfred Aho. Egli è noto per aver scritto il codice per Yacc, Lint e Portable C Compiler.
Alla metà degli anni 1970, Johnson e il suo collega della Bell, Dennis Ritchie, "dimostrarono che Unix era un software portabile", che Ritchie considerò la scintilla che portò alla diffusione di Unix.[4] Nella metà degli anni 1980, fu capo del dipartimento del linguaggio UNIX (Unix System V).[3]
Johnson sviluppò Yacc agli inizi degli anni '70 poiché voleva inserire la disgiunzione esclusiva o nel compiler del linguaggio linguaggio di Ritchie.[5] Il collega di Bell Labs, Alfred Aho, gli suggerì di guardare un lavoro di Donald Knuth sul Parser LR, che servì come base per Yacc.[3] In una intervista del 2008, Johnson disse che "il contributo che Yacc ha dato alla diffusione di Unix e C mi rende orgoglioso".[2] Lint venne sviluppato nel 1978 mentre Johnson stava eliminando errori dalla compilazione di Yacc che aveva scritto per C ed era alle prese con problemi di portabilità tendenti a trasferire Unix su una macchina a 32 bit.[3][6]
Silicon Valley
[modifica | modifica wikitesto]Nel 1986, Johnson si trasferì nella Silicon Valley, entrando in numerose startup, dove lavorò principalmente sui compilatori, ma anche sulla grafica 2D e 3D. Tra le aziende nelle quali lavorò vi fu la Dana Computer, Inc.,[7] Melismatic Software e Transmeta, dove realizzò i microprocessori Intel-compatibili a bassa potenza.[3]
Fu nel consiglio di amministrazione di USENIX per dieci anni, compresi quattro anni nel ruolo di presidente negli anni 1990.
Carriera successiva
[modifica | modifica wikitesto]Nel 2002 si trasferì a Boston alla MathWorks,[8] dove contribuì a mantenere il front-end del linguaggio di programmazione MATLAB, per il quale creò anche un prodotto lint chiamato M-Lint. Aveva incontrato il fondatore di MathWorks, Cleve Moler, mentre lavorava in una startup della Silicon Valley e aveva sviluppato una "relazione di consulenza a distanza" negli anni '90.[3]
Johnson vive a Morgan Hill e lavora all'apprendimento automatico in Wave Computing, una startup che sviluppa computer ad alta efficienza energetica per l'apprendimento automatico.[1]
Note
[modifica | modifica wikitesto]- ^ a b Steve Johnson, What's it All About, su Yaccman.com. URL consultato il 19 gennaio 2018.
- ^ a b Naomi Hamilton, Yacc, Unix, and Advice from Bell Labs Alumni Stephen Johnson, in Computerworld, 10 luglio 2008. URL consultato il 19 gennaio 2018 (archiviato dall'url originale il 20 gennaio 2018).
- ^ a b c d e f g Richard Morris, Stephen Curtis Johnson: Geek of the Week, in Red Gate Software, 1º ottobre 2009. URL consultato il 19 gennaio 2018.
- ^ Dennis Ritchie, How Did We Get Here, Where Are We Going?, in AUUG Conference Proceedings, Australia, AUUG, Inc., settembre 1994, p. 4, ISBN 978-0-646-20108-5.
- ^ Dennis M. Ritchie, The Development of the C Language (PDF), Association for Computing Machinery, aprile 1993. URL consultato il 18 novembre 2019 (archiviato dall'url originale il 24 luglio 2015).
- ^ Stephen C. Johnson, Lint, a C Program Checker, 25 ottobre 1978, pp. 78–1273.
- ^ Peggy Watt, Jobs Pushes for New Unix Standard: Usenix Attendees Defend Operating System, in InfoWorld, 15 giugno 1987. URL consultato il 19 gennaio 2018.
- ^ USENIX '04 Training Track Instructors, su USENIX. URL consultato il 19 gennaio 2018.
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su yaccman.com.
- (EN) Stephen C. Johnson, su Mathematics Genealogy Project, North Dakota State University.
Controllo di autorità | VIAF (EN) 8232149108423268780007 |
---|