(Translated by https://www.hiragana.jp/)
ケン・トンプソン - Wikipedia コンテンツにスキップ

ケン・トンプソン

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
Ken Lane Thompson
ケネス・レイン・トンプソン
生誕せいたん (1943-02-04) 1943ねん2がつ4にち(81さい
アメリカ合衆国の旗 アメリカ合衆国あめりかがっしゅうこく ルイジアナしゅうニューオーリンズ
国籍こくせき アメリカ合衆国の旗 アメリカ合衆国あめりかがっしゅうこく
研究けんきゅう分野ぶんや 計算けいさん科学かがく
研究けんきゅう機関きかん ベル研究所けんきゅうじょ
Entrisphere, Inc
Google Inc.
出身しゅっしんこう カリフォルニア大学だいがくバークレーこう
おも業績ぎょうせき Multics
UNIX
B言語げんご
Belle
UTF-8
Plan 9
Inferno
grep
Endgame tablebase英語えいごばん(コンピュータチェスの技法ぎほう
Go
おも受賞じゅしょうれき チューリングしょう
アメリカ国家こっか技術ぎじゅつしょう
IEEE Tsutomu Kanai Award
プロジェクト:人物じんぶつでん
テンプレートを表示ひょうじ

ケネス・レイン・トンプソン(Kenneth Lane Thompson、1943ねん2がつ4にち - )はコンピュータサイエンティストのパイオニアでアメリカじん。ハッカー仲間なかまからはケン・トンプソン (Ken Thompson) とばれている[1]長年ながねんベル研究所けんきゅうじょつとめ、オリジナルのUnix開発かいはつした。またC言語げんご前身ぜんしんであるB言語げんご開発かいはつし、Plan 9初期しょき開発かいはつしゃ1人ひとりだった。2006ねんからGoogle勤務きんむしており、Go共同きょうどう開発かいはつした。

おも業績ぎょうせきとして、正規せいき表現ひょうげん、テキストエディタQEDedUTF-8コードの定義ていぎくわえ、チェスの終盤しゅうばん定跡じょうせきデータベースやチェスマシンBelleの開発かいはつなどコンピュータチェスへの貢献こうけんがある。1983ねんかれ長年ながねん同僚どうりょうであるデニス・リッチーともチューリングしょう受賞じゅしょうした。

青少年せいしょうねん時代じだい

[編集へんしゅう]

アメリカ合衆国あめりかがっしゅうこくルイジアナしゅうニューオーリンズまれる。15にん有名ゆうめいプログラマのインタビューをまとめた Coders at Work で、インタビュアーの Peter Seibel から「どうやってプログラムをまなんだのですか?」と質問しつもんされ、「わたしはいつも論理ろんり魅了みりょうされていて、小学生しょうがくせいのころすで二進法にしんほうなどの算数さんすう問題もんだいいていた。それはたんわたし魅了みりょうされていたからだ」とこたえた[2]

Unix最初さいしょ動作どうさしたDEC PDP-7

カリフォルニア大学だいがくバークレーこう電子でんし工学こうがくおよび計算けいさん科学かがく学士がくしごう (1965) と修士しゅうしごう (1966) を取得しゅとく修士しゅうし課程かてい指導しどう教官きょうかんエルウィン・バーレカンプ[3]

職歴しょくれき研究けんきゅう

[編集へんしゅう]

大学だいがく卒業そつぎょうの1966ねんにAT&Tのベル研究所けんきゅうじょ就職しゅうしょく[4]。1960年代ねんだい当時とうじ、ベルけんではトンプソンとデニス・リッチーMulticsシステムの計画けいかく参加さんかしていた。トンプソンはMulticsの開発かいはつちゅうにプログラミング言語げんごのBonを開発かいはつした[5][6]。またスペース・トラベルというビデオゲームも開発かいはつした。そのベルけんはMulticsから撤退てったい[7]。ゲームをあそつづけるため、トンプソンはふるPDP-7発掘はっくつしてスペース・トラベルをつくなおした[8]。このときトンプソンが開発かいはつしたツールがUnixになった。PDP-7使つかい、トンプソンとリッチーが主導しゅどうするベルけんのチームは、ラッド・カナディとともに、階層かいそうがたファイルシステムプロセスデバイスファイル概念がいねん発明はつめいし、コマンドライン、プロセスあいだ通信つうしん容易よういにするパイプ複数ふくすうちいさなユーティリティプログラムを開発かいはつした。 1970ねんブライアン・カーニハン提案ていあんで、MulticsからのダジャレであるUnixという名前なまえになった[9]初期しょきのUnixが完成かんせいすると、トンプソンはシステム開発かいはつけの言語げんご必要ひつようだとかんがえるようになり、B言語げんご開発かいはつし、それをもとにしてリッチーがC言語げんご開発かいはつした[10]

1960年代ねんだい正規せいき表現ひょうげん開発かいはつCTSSうえ動作どうさするテキストエディタのQED開発かいはつし、文字もじれつ検索けんさく正規せいき表現ひょうげん使つかうことができた。QEDと、のち開発かいはつしたUnixの標準ひょうじゅんエディタedは正規せいき表現ひょうげん普及ふきゅうおおきく貢献こうけんした。以降いこう開発かいはつされたほぼすべての正規せいき表現ひょうげんプログラムはトンプソンの表記ひょうきほうがベースとなっている。以前いぜん理論りろん言語げんごがくものなどかぎられたあいだでの専門せんもんてき記法きほうであった正規せいき表現ひょうげん日本にっぽんではそういった専門せんもん分野ぶんやでは正則せいそく表現ひょうげんやくすことがある)は、コンピュータのユーザに身近みぢか頻用ひんようされるものとなった。またマッチングを高速こうそくするため、正規せいき表現ひょうげん決定けっていせい有限ゆうげんオートマトン変換へんかんする「トンプソンの構築こうちくアルゴリズム」を発明はつめいした[11]

1970年代ねんだい

[編集へんしゅう]
SIMH PDP-11シミュレータで動作どうさしているUnixバージョン6。"/usr/ken"がまだ存在そんざいしている。

トンプソンとリッチーは1970年代ねんだいあいだずっとUnixを共同きょうどう開発かいはつしていた。2人ふたりResearch Unix研究けんきゅうチームで精力せいりょくてき活動かつどうしており、ダグラス・マキルロイは「ほとんどすべてのコードにリッチーとトンプソンの名前なまえのこされているとかんがえて間違まちがいない」とのちいている。トンプソンは2011ねんのインタビューで、Unixの初期しょきバージョンは自分じぶん開発かいはつしたものであり、のちにリッチーが応援おうえんはじめ、開発かいはつ手伝てつだったとはなしている[12]

最初さいしょのバージョン3くらいまではUNIXを1人ひとりつくりました。デニスがエバンジェリストになりました。それからC言語げんごもとになった高級こうきゅう言語げんごなおしました。かれおも言語げんごとI/Oシステムを担当たんとうし、わたしはOSのそれ以外いがい部分ぶぶん全部ぜんぶ担当たんとうしました。PDP-11ようでしたが、これは偶然ぐうぜんにも大学だいがくひろ普及ふきゅうしたコンピュータでした。

トンプソンはUnixの開発かいはつにC言語げんご使つかうことで言語げんご熟成じゅくせい貢献こうけんした。C言語げんごはOSをなお最中さいちゅうそだち、OSをくのに最適さいてき言語げんごになったとのちにトンプソンはかたった[12]

1975ねんにトンプソンはベルけん休職きゅうしょくし、母校ぼこうカリフォルニア大学だいがくバークレーこう登校とうこうし、Unixバージョン6PDP-11/70にインストールする作業さぎょう手伝てつだった。バークレーこうのUnixはのちバークレーソフトウェアディストリビューション(BSD)としてられる独自どくじのOSとしてメンテナンスされるようになった[13]

1976ねんはじめにトンプソンはカリフォルニア大学だいがくバークレーこう電気でんき工学部こうがくぶコンピューターサイエンス学科がっかでバークレー・パスカル初期しょきバージョンを開発かいはつした(同年どうねん後半こうはんビル・ジョイ、チャールズ・ヘイリー、ファカルティアドバイザーのスーザン・グラハムが大幅おおはば改良かいりょうくわえた)。

1971ねんにUnixでchessという名前なまえのチェスのプログラムを開発かいはつ[14]のちにジョセフ・コンドンととも専用せんようのハードウェアアクセラレーターを搭載とうさいしたBelleを開発かいはつし、コンピュータチェス世界せかいチャンピオンとなった[15]。また4、5、6こま終盤しゅうばん局面きょくめんすべてで、完全かんぜん定跡じょうせきパターンを列挙れっきょするプログラムを作成さくせいした。これによりプログラムは、一度いちど終盤しゅうばん定跡じょうせき到達とうたつすれば、以降いこう完璧かんぺきなゲームをすすめることができた。終盤しゅうばん定跡じょうせきくわしいチェスの専門せんもんであるジョン・ロイクロフトがのち協力きょうりょくし、終盤しゅうばん定跡じょうせきデータベースをCD-ROMして配布はいふした。2001ねんICGA Journalはケン・トンプソンのコンピューターチェスへの様々さまざま貢献こうけん表彰ひょうしょうした[14]

1980年代ねんだい

[編集へんしゅう]
ベルけんのPlan 9。テキストエディタのacmeとシェルのrc動作どうさしている。

1983ねんにトンプソンとリッチーは、「汎用はんようてきなオペレーティングシステム理論りろん開発かいはつとくにUNIXオペレーティングシステムの実装じっそうたいして」チューリングしょう共同きょうどう受賞じゅしょうした。授賞じゅしょうしきでのスピーチではなした「Reflections on Trusting Trust(信用しんよう信頼しんらいすることについての考察こうさつ)」は、現在げんざいはトンプソンハックやTrusting Trust攻撃こうげきとしてられており、これ自体じたいがセキュリティにかんする重要じゅうよう研究けんきゅう成果せいかみとめられている[16]

トンプソンとリッチーは1980年代ねんだいつうじてResearch Unixのアップデートをつづけ、バージョン8、バージョン9、バージョン10でBSDコードベースを採用さいようした。1980年代ねんだい中頃なかごろに、Unixの設計せっけい思想しそうぎながらも全面ぜんめんてきつくえられた後継こうけいOSであるPlan 9開発かいはつがベルけんはじまった。mkrcなど、のResearch Unixにまれた一部いちぶのプログラムも、Plan 9で開発かいはつされた。

トンプソンはビャーネ・ストロヴストルップ開発かいはつしたC++初期しょきバージョンを試験しけんてき使つかったが、バージョンアップのたび互換ごかんせいうしなわれたため使用しよう断念だんねんした。2009ねんのインタビューでトンプソンはC ++を批判ひはんし、「色々いろいろなことが中途半端ちゅうとはんぱで、それはおおくのことを半分はんぶんうまくやっており、排他はいたてきなアイデアのゴミのやまだ」とはなした[17]

1990年代ねんだい

[編集へんしゅう]

1992ねんロブ・パイク共同きょうどう文字もじコードのUTF-8開発かいはつ[18]。UTF-8はインターネットひろ普及ふきゅうし、2019ねんにはぜんWebページの90%以上いじょうめている[19]

1990年代ねんだいにポータブルなバーチャルマシンをベースにした研究けんきゅうようオペレーティングシステムであるInferno開発かいはつ開始かいし。トンプソンとリッチーはベルけんほか研究けんきゅうしゃ共同きょうどうでInfernoのコラボレーションをつづけた[20]

2000年代ねんだい

[編集へんしゅう]

2000ねん後半こうはんにベルけん退職たいしょくかれは2006ねんまでEntrisphere, Inc.でフェローとしてはたらき、そのGoogle名誉めいよエンジニアとして所属しょぞく最近さいきん業績ぎょうせきにはプログラミング言語げんごGo共同きょうどう設計せっけいなどがある。自分じぶんふくむGoの開発かいはつしゃたちについてつぎのようにべている[12]

わたしたち3にん(トンプソン、ロブ・パイク、ロバート・グリシーマー)は純粋じゅんすい研究けんきゅうとして開発かいはつはじめました。3にんあつまり、C++がきらいだということで意気投合いきとうごうしました(笑)かっこわらい。(…Goにはなしもどすと)、3にんとも言語げんごすべての機能きのうについて説明せつめいもとめられるというかんがえでスタートしましたので、いかなる理由りゆうがあっても言語げんごにゴミをれませんでした。

2009ねんのインタビューによると、トンプソンは現在げんざいLinuxベースのオペレーティングシステムを使用しようしている[21]

受賞じゅしょうれき

[編集へんしゅう]
  • 1980ねん - 全米ぜんべい技術ぎじゅつアカデミーフェロー[22]
  • 1983ねん - チューリングしょう。リッチーと共同きょうどう受賞じゅしょう。「汎用はんようオペレーティングシステム理論りろん発展はってんへの貢献こうけんと、とくにUNIXオペレーティングシステムの実装じっそうたいして」。このとき受賞じゅしょう記念きねん講演こうえんべたのが "Reflections on Trusting Trust"[23]のちThompson hackばれるようになる、loginプログラムにバックドア仕組しくむようなコンパイラをつくるようコンパイラのバイナリを仕組しくみ、その痕跡こんせきをコンパイラのソースからはす、という驚異きょういてき技巧ぎこう解説かいせつで、しかも実際じっさいにいくつかのシステムに仕込しこまれていたとする衝撃しょうげきてきなもの[注釈ちゅうしゃく 1]であった。この講演こうえんだけで独立どくりつしたコンピュータセキュリティたいする重要じゅうよう指摘してきかりにコンパイラのぜんソースをチェックしても、それだけでは安全あんぜんではないかもしれない)とされている[注釈ちゅうしゃく 2]。また、講演こうえん本題ほんだいはいまえに、自分じぶんいたプログラムのはなしをするまくらとして「わたしはプログラマです。フォーム1040(米国べいこく税金ぜいきん書類しょるいen:IRS tax forms#1040)にわたし職業しょくぎょうとしてそういています。」(I am a programmer. On my 1040 form, that is what I put down as my occupation.)とはなしている。
  • 1990ねん - IEEEハミングメダル。リッチーと共同きょうどう受賞じゅしょう。「UNIXオペレーティングシステムとCプログラミング言語げんご開発かいはつたいして」[24]
  • 1997ねん - コンピュータ歴史れきし博物館はくぶつかんフェロー
  • 1999ねん - 98年度ねんどアメリカ国家こっか技術ぎじゅつしょうをリッチーと共同きょうどう受賞じゅしょう。「情報じょうほう技術ぎじゅつ発展はってん多大ただい影響えいきょうあたえたUNIXオペレーティングシステムとC言語げんご発明はつめいたいして。また、情報じょうほう時代じだいにおけるアメリカのリーダーシップを強固きょうこなものにした産業さんぎょう全体ぜんたい成長せいちょうをもたらした」(原文げんぶん[25]は For their invention of UNIX® operating system and the C programming language, which together have led to enormous growth of an entire industry, thereby enhancing American leadership in the Information Age. であり、どこにも「情報じょうほう技術ぎじゅつの」という表現ひょうげん対応たいおうする部分ぶぶんいが)[26][27]
  • 1999ねん - IEEE Tsutomu Kanai Award。「過去かこすうじゅうねんわたって分散ぶんさんシステムの重要じゅうよう基盤きばんとなったUNIXオペレーティングの開発かいはつたした役割やくわりたいして」[28]
  • 2011ねん - 日本にっぽん国際こくさいしょう。リッチーと共同きょうどう受賞じゅしょう。「UNIXオペレーティングシステム開発かいはつにおける貢献こうけんたいして」[29][30]
  • 2019ねん - 全米ぜんべい発明はつめい殿堂でんどう。リッチーと共同きょうどう選出せんしゅつ

プライベート

[編集へんしゅう]

ケン・トンプソンは既婚きこんしゃ息子むすこが1にんいる[31][14]

脚注きゃくちゅう

[編集へんしゅう]

注釈ちゅうしゃく

[編集へんしゅう]
  1. ^ ジャーゴンファイルhttp://catb.org/jargon/html/B/back-door.html )では、トンプソンはベルけん外部がいぶには、その仕掛しかけのあるコンパイラが配布はいふされたことは一切いっさいい(never distributed)とっているといたのち編者へんしゃエリック・レイモンド)は独立どくりつした2人ふたり情報じょうほう提供ていきょうしゃから不審ふしんなログインにかんする示唆しさているともいており、その状況じょうきょうあわ実際じっさいには外部がいぶにもていたものとみるろんもある(『Unix考古学こうこがく』を参照さんしょう)。
  2. ^ 直接ちょくせつ主題しゅだいではないが、最後さいご警鐘けいしょうとして、講演こうえんした内容ないようしめすように、原理げんりてきに、コンピュータのセキュリティには根源こんげんてきところに「信用しんよう信用しんようする」しかないというあやうさがあるのだから、(こんにちでスクリプトキディ相当そうとうするような)セキュリティをおどかしている子供こどもたちを、「天才てんさいハッカー少年しょうねん」などとマスコミがそやすことは、将来しょうらいわざわいいのもとである、といったこともべている。これは技術ぎじゅつてき本筋ほんすじとはあまり関係かんけいないのだが、映画えいがウォー・ゲーム』の公開こうかいなどでコンピュータの一般いっぱんへの爆発ばくはつてき普及ふきゅうとセキュリティについて関心かんしんたかまっていた時期じきであったため、学会がっかい誌上しじょうリチャード・ストールマンらと議論ぎろんになった。

出典しゅってん

[編集へんしゅう]
  1. ^ ken”. The Jargon File (version 4.4.7). 2012ねん8がつ19にち閲覧えつらん
  2. ^ Seibel 2009, p. 450.
  3. ^ Thesis Students”. Elwyn Berlekamp's Home Page. University of California, Berkeley Department of Mathematics. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2021ねん12月31にち閲覧えつらん
  4. ^ Ken Thompson: developed UNIX at Bell Labs”. 2016ねん10がつ31にち閲覧えつらん
  5. ^ Thompson (1969ねん). “Bon User's Manual”. Multics History Project. MIT Computer Science & Artificial Intelligence Lab. p. 1. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。18 March 2021閲覧えつらん
  6. ^ Ritchie. “The Development of the C Language”. Bell Labs. 2016ねん10がつ31にち閲覧えつらん
  7. ^ J. Stanley Warford (2009). Computer Systems. Jones & Bartlett Publishers. p. 460. ISBN 978-1-4496-6043-7. https://books.google.com/books?id=PERY_m5yyl4C&pg=PA460 
  8. ^ Ritchie (2001ねん). “Space Travel: Exploring the solar system and the PDP-7”. Bell Labs. 2015ねん12月26にち時点じてんオリジナルよりアーカイブ。2016ねん2がつ4にち閲覧えつらん
  9. ^ Ritchie. “The Evolution of the Unix Time-sharing System”. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2016ねん10がつ31にち閲覧えつらん
  10. ^ Dennis M. Ritchie. “The Development of the C Language”. Bell Labs/Lucent Technologies. 2016ねん10がつ31にち閲覧えつらん
  11. ^ Cox. “Regular Expression Matching Can Be Simple And Fast”. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2016ねん10がつ30にち閲覧えつらん
  12. ^ a b c Dr. Dobb's: Interview with Ken Thompson” (2011ねん5がつ18にち). 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2014ねん11がつ10日とおか閲覧えつらん
  13. ^ Salus, Peter H. (2005). “Chapter 7. BSD and the CSRG”. The Daemon, the Gnu and the Penguin. Groklaw. http://www.groklaw.net/article.php?story=20050505095249230 
  14. ^ a b c Dennis Ritchie (June 2001). “Ken, Unix and Games”. ICGA Journal 24 (2). https://www.bell-labs.com/usr/dmr/www/ken-games.html March 5, 2020閲覧えつらん. 
  15. ^ “Joe Condon (obituary)”. Physics Today. (2013). doi:10.1063/PT.4.1752. 
  16. ^ Thompson, Ken (1984). “Reflections on trusting trust”. Communications of the ACM 27 (8): 761–763. doi:10.1145/358198.358210. 
  17. ^ Seibel 2009, p. 475.
  18. ^ Pike (April 30, 2003). “UTF-8 history”. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2021ねん12月31にち閲覧えつらん
  19. ^ Usage Statistics and Market Share of UTF-8 for Websites, June 2019”. w3techs.com. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2019ねん6がつ9にち閲覧えつらん
  20. ^ Khamlichi. “Ken Thompson UNIX systems father”. Unixmen. 2021ねん10がつ21にち時点じてんオリジナルよりアーカイブ。2016ねん10がつ31にち閲覧えつらん
  21. ^ Seibel 2009, p. 479.
  22. ^ Dr. Ken Thompson”. National Academy of Engineering. 2012ねん8がつ19にち閲覧えつらん
  23. ^ Thompson, Ken. “Reflections on Trusting Trust”. 2012ねん8がつ19にち閲覧えつらん
  24. ^ IEEE Richard W. Hamming Medal Recipients”. IEEE. 2011ねん5がつ29にち閲覧えつらん
  25. ^ https://www.uspto.gov/learning-and-resources/ip-programs-and-awards/national-medal-technology-and-innovation/recipients/1998
  26. ^ Ritchie and Thompson Get National Medal of Technology”. Bell Labs (December 8, 1998). 2012ねん8がつ19にち閲覧えつらん
  27. ^ Ritchie and Thompson Receive National Medal of Technology from President Clinton”. Bell Labs (April 27, 1999). 2012ねん8がつ19にち閲覧えつらん
  28. ^ Ken Thompson Receives Kanai Award for Impact of UNIX System”. Bell Labs (March 25, 1999). 2012ねん8がつ19にち閲覧えつらん
  29. ^ 2011ねんだい27かい日本にっぽん国際こくさいしょう受賞じゅしょうしゃまる”. 国際こくさい科学かがく技術ぎじゅつ財団ざいだん. 2011ねん1がつ25にち閲覧えつらん
  30. ^ Evangelista, Benny (January 25, 2011). “Ken Thompson, Dennis Ritchie win Japan Prize”. The San Francisco Chronicle. http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2011/01/24/BUTI1HDJSA.DTL#ixzz1C5LtXdf3 
  31. ^ Ken Thompson: A Brief Introduction”. The Linux Information Project (August 24, 2007). March 5, 2020閲覧えつらん

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]