スティーヴン・カーティス・ジョンソン
スティーヴン・カーティス・ジョンソン | |
---|---|
Stephen Curtis Johnson | |
国籍 | アメリカ合衆国 |
職業 | 計算機科学者 |
著名な実績 | Yacc, Lint, Portable C Compiler |
スティーヴ・ジョンソン(Steve Johnson)[1]ことスティーヴン・カーティス・ジョンソン(Stephen Curtis Johnson)は、アメリカ合衆国の計算機科学者である。
ベル研究所とAT&Tに20年近く勤務した。Yacc、lint、spell、Portable C Compilerでよく知られている。Portable C Compilerは、UNIXやC言語の普及に貢献した[2]。また、コンピュータ音楽、計量心理学、VLSI設計など、様々な分野で貢献している[3]。
若年期と教育
[編集]5歳の時に国立標準局に務めていた祖父に連れられてその仕事場を訪問したとき、「小さな家ほどの大きさ」のコンピュータを見て強い印象を受け、「コンピュータを扱う仕事がしたい」と決心した[3]。
進学した大学には計算機科学の授業がなかったため、数学を学び、最終的に数学でPh.D.を取得した。
キャリア
[編集]ベル研究所
[編集]ジョンソンは、1960年代にAT&Tに入社してベル研究所に配属され、ジェフリー・ウルマン、デニス・リッチー、アルフレッド・エイホらとともに、約20年間にわたってUNIXツールの開発に携わった。ジョンソンは、Yacc、Lint、Portable C Compilerなどを開発したことで知られている。
1970年代半ば、ジョンソンはベル研究所の同僚のデニス・リッチーと共同で、AT&T初のUNIXポートを開発した。彼らはまた、「UNIXに移植性があること」を実証し、リッチーはこれがUNIX普及のきっかけになったと考えている[4]。1980年代半ばには、UNIX(UNIX System V)の言語開発部門の責任者を務めた[3]。
ジョンソンは1970年代初頭、リッチーのB言語コンパイラに排他的論理和(XOR)を入れたいと考えて、Yaccを開発した[5]。ベル研究所の同僚のアルフレッド・エイホは、ジョンソンにドナルド・クヌースのLR構文解析の研究を見るように勧め、これがYaccの基礎となった[3]。ジョンソンは2008年のインタビューで、「YaccがUNIXとC言語の普及に貢献したことは、私が最も誇りに思っていることだ」と語っている[2]。Lintは1978年、ジョンソンがC言語用に書いていたYaccの文法をデバッグしたり、UNIXを32ビットマシンに移植する際の移植性の問題に悩んだりしているときに開発された[3][6]。
シリコンバレー
[編集]1986年にシリコンバレーに移り、十数社のスタートアップ企業に参加し、主にコンパイラのほか、2D・3Dグラフィックス、超並列コンピューティング、組み込みシステムなどに取り組んだ。ジョンソンが参加したスタートアップ企業には、ダナ・コンピュータ[7]、メリスマティック・ソフトウェア、および、低消費電力のインテル互換マイクロプロセッサを製造していたトランスメタなどがある[3]。
ジョンソンはUSENIXの理事を10年間務め、1990年代前半には会長を務めた。
その後のキャリア
[編集]2002年にボストンに移ってThe MathWorksに勤務した[8]。ここでは、プログラミング言語MATLABのフロントエンドのメンテナンスを担当し、MATLABのためにM-LintというLint製品を開発した。ジョンソンは、シリコンバレーで働いていたときにMathWorksの創業者であるクリーブ・モラーと出会い、1990年代にはモラーと「遠距離のコンサルティング関係」を築いていた[3]。
ジョンソンは現在、カリフォルニア州モーガンヒルに住み、エネルギー効率の高い機械学習用コンピュータを開発するスタートアップ企業であるWave Computing社に勤務している[1]。
脚注
[編集]- ^ a b “What's it All About”. Yaccman.com. 19 January 2018閲覧。
- ^ a b Hamilton, Naomi (10 July 2008). “Yacc, Unix, and Advice from Bell Labs Alumni Stephen Johnson”. Computerworld 19 January 2018閲覧。
- ^ a b c d e f g Morris, Richard (1 October 2009). “Stephen Curtis Johnson: Geek of the Week”. Red Gate Software 19 January 2018閲覧。
- ^ Ritchie, Dennis (September 1994). “How Did We Get Here, Where Are We Going?”. AUUG Conference Proceedings. Australia: AUUG, Inc.. p. 4. ISBN 978-0-646-20108-5
- ^ Ritchie, Dennis M. (April 1993). The Development of the C Language (PDF). Association for Computing Machinery.
- ^ Johnson, Stephen C. (25 October 1978). Lint, a C Program Checker. pp. 78–1273.
- ^ Watt, Peggy (15 June 1987). “Jobs Pushes for New Unix Standard: Usenix Attendees Defend Operating System”. InfoWorld 19 January 2018閲覧。
- ^ “USENIX '04 Training Track Instructors”. USENIX. 19 January 2018閲覧。