1. 初期の生活と教育
クリストファー・ストレイチーの幼少期と教育は、彼の知的才能と個人的な葛藤が交錯する期間であった。
1.1. 出生と家族背景
クリストファー・ストレイチーは1916年11月16日、イングランドのハムステッドで、父オリヴァー・ストレイチーと母レイチェル(レイ)・コステロの間に生まれた。オリヴァー・ストレイチーはリチャード・ストレイチーの息子であり、ヘンリー・ストレイチーの曾孫にあたる。彼の姉は作家のバーバラ・ストレイチーであった。1919年、一家はゴードン・スクエア51番地に移り住んだ。ストレイチー家はヴァージニア・ウルフ、ジョン・メイナード・ケインズ、そしてクリストファーの叔父にあたるリットン・ストレイチーを含む著名なブルームズベリー・グループのメンバーであった。
1.2. 幼少期と教育
13歳でグレシャムズ・スクールに入学したストレイチーは、その並外れた知性の片鱗を見せたが、全体的には学業成績が悪かった。1935年にはケンブリッジ大学キングス・カレッジ(アラン・チューリングと同じカレッジ)への入学を許可されたが、そこでも勉強を怠りがちであった。彼は当初数学を専攻し、その後物理学に転向した。ケンブリッジ大学での3年目の終わり頃、ストレイチーは神経衰弱を患ったが、これは自身の同性愛傾向を受け入れることに関連していた可能性がある。彼はケンブリッジに戻ったものの、自然科学のトライポスでは「下位2級」という結果に終わった。
2. 経歴
ストレイチーのキャリアは、第二次世界大戦中の研究職から始まり、教育者を経て、コンピュータ科学のパイオニアとしての道を開いた。
2.1. 初期のキャリアと教育職
学業を続けることが困難になったストレイチーは、スタンダード・テレフォン・アンド・ケーブルズ(STC)に研究物理学者として入社した。彼の最初の仕事は、レーダーに使用される電子管の設計に必要な数学的解析を提供することであった。計算が複雑であったため、微分解析機の使用が求められた。この計算機械との初期の経験がストレイチーの興味を掻き立て、彼はこの分野の研究を始めた。ケンブリッジ大学での研究学位の申請は却下され、ストレイチーは第二次世界大戦中もSTCで働き続けた。戦後、彼は長年の目標であった教師となり、セント・エドモンズ・スクールで数学と物理学を教えた。3年後、1949年にはより名門であるハーロー校に移り、そこで3年間教鞭をとった。
2.2. 研究開発活動
1951年1月、ストレイチーは友人の紹介で国立物理学研究所(NPL)のマイク・ウッジャーと知り合った。NPLはアラン・チューリングのAutomatic Computing Engine(ACE)のコンセプトを縮小したPilot ACEを完成させていた。

ストレイチーは余暇にチェッカー(アメリカ英語ではチェッカーズ)のゲームプログラムの予備版を開発し、1951年5月に完成させた。これは最初のビデオゲームである可能性が指摘されている。このゲームはPilot ACEのメモリを完全に使い果たした。1951年7月30日にNPLでチェッカープログラムが最初に実行された際には、プログラムエラーにより失敗した。より大容量のメモリを持つManchester Mark 1の存在を知ったストレイチーは、旧友のアラン・チューリングにマニュアルを頼み、1951年10月頃には自分のプログラムをその機械の操作コードに書き換えた。1952年夏までに、このプログラムは「妥当な速さでチェッカーの完全なゲームをプレイできる」ようになったという。彼はこのゲームに名前を付けなかったが、ノア・ワードリップ=フルーインはこれを「M. U. C. ドラフツ」と名付けた。
ストレイチーは1951年にマンチェスター大学のフェランティ・マークIコンピュータ上で、イギリスで最初のコンピュータ音楽をプログラミングした。これはコンピュータが演奏した最古の音楽録音の一つで、イギリス国歌「God Save the King」の演奏であった。同年後半、BBCの屋外放送班によって、「God Save the King」、「メエメエ黒羊さん」、「イン・ザ・ムード」の短い抜粋がそこで録音された。カンタベリー大学のニュージーランド・カンタベリー校の研究者たちは、2016年にこのアセテート原盤を修復し、その結果はSoundCloudで聞くことができる。
1952年夏には、フェランティ・マークI向けにラブ・レター・ジェネレーターをプログラミングした。これは電子文学の最初の例として知られている。1952年5月、ストレイチーはBBC Home Serviceの「サイエンス・サーベイ」番組で、「動物と機械における制御の研究」(サイバネティクス)に関する2部構成の講演を行った。
1952年から1959年まで、国立研究開発公社(NRDC)に勤務した。セントローレンス海路プロジェクトに取り組む傍ら、アメリカのいくつかのコンピュータセンターを訪れ、それらの命令セットをカタログ化した。その後、エリオット401コンピュータとフェランティ・ペガサスコンピュータの両方のプログラミングに携わった。彼はドナルド・B・ギリスと共に、プログラムの再配置のためのベースレジスタの設計を含む3つのコンピュータ設計特許を申請した。また、彼はロジャー・ペンローズと短期間、航空機の振動解析にも取り組んだ。
2.3. コンサルタントおよび学術的キャリア
1959年、ストレイチーはNRDCを退職し、NRDC、EMI、フェランティなどの組織でコンピュータコンサルタントとして、広範なプロジェクトに従事するようになった。この仕事には、コンピュータの論理設計、autocodeの提供、そして後の高水準言語の設計が含まれていた。フェランティ・オリオンコンピュータ向けのautocode作成契約のために、ストレイチーはピーター・ランディンを雇い、ランディンはストレイチーのコンサルティング期間中、唯一のアシスタントとなった。
ストレイチーは1959年にタイムシェアリングの概念を開発した。彼は同年2月に特許を申請し、パリで開催された第1回UNESCO情報処理会議で「大規模高速コンピュータにおけるタイムシェアリング」と題する論文を発表し、この概念をJ・C・R・リックライダーに伝えた。この論文は、1963年にMIT計算センターによって「タイムシェアリングコンピュータに関する最初の論文」と評されている。
1962年、彼はコンサルタントとしての活動を続けながら、ケンブリッジ大学で職を得た。1965年には、オックスフォード大学のプログラミング研究グループの初代ディレクターとして、また後に同大学初の計算機科学教授およびウルフソン・カレッジのフェローとして職を得た。彼はデイナ・スコットと共同研究を行った。
ストレイチーは、計算機科学における先駆的な業績が評価され、1971年に英国コンピュータ学会の特別フェローに選出された。1973年、ストレイチーは(ロバート・ミルンと共に)アダムス賞コンペティションに提出するエッセイを書き始め、その後それを書籍の形に改訂する作業を続けた。ストレイチーは、ライトヒル・ディベートでの人工知能に関する討論(1973年)でその姿を見聞きすることができる。
3. 主要な業績と貢献
クリストファー・ストレイチーは、プログラミング言語の設計から初期のコンピュータプログラム開発、タイムシェアリングシステムの概念化に至るまで、計算機科学に多大な貢献をした。
3.1. プログラミング言語の設計と理論
ストレイチーはCPL(Combined Programming Language)の開発に貢献した。彼の影響力のある講義ノートである『Fundamental Concepts in Programming Languages英語』では、L値とR値(C言語などに見られる概念)の区別を形式化した。また、彼は「カリー化」(currying)という用語を考案したことでも知られているが、この概念自体は彼が発明したものではない。
3.2. 初期のコンピュータプログラムとシミュレーション
彼は初期のコンピュータを用いて、チェッカーゲームプログラムを開発した。これは世界で最初のビデオゲームの一つとされる。また、コンピュータによる音楽生成の分野でも先駆的であり、イギリスで最初のコンピュータ音楽(「God Save the King」など)をプログラミングした。さらに、「ラブ・レター・ジェネレーター」のような創造的なソフトウェアも開発し、初期の電子文学の道を切り開いた。
3.3. タイムシェアリングシステムとセマンティクス
ストレイチーは1959年にタイムシェアリングの概念を開発し、国際情報処理会議で発表することで、コンピュータ資源の効率的な共有が可能であることを示した。また、彼はデイナ・スコットとの共同研究を通じて、表示的意味論の分野を開拓した。これは、プログラミング言語の意味を数学的に厳密に定義する上で重要な貢献となった。
3.4. マクロジェネレータとシステム開発
ストレイチーは、初期のマクロ展開言語の一つであるGPM(General Purpose Macrogenerator)の設計と実装を行った。GPMは非常にコンパクトに書かれており、わずか250個の機械語命令で実装された。このGPMは、後に開発されたm4などのマクロプロセッサに大きな影響を与えた。
3.5. コンピュータ科学の用語
ストレイチーは、現代の計算機科学で広く用いられる重要な用語の定義と普及に貢献した。彼が考案した用語には、「多相性」や「参照透過性」などがある。これらの用語は、プログラミング言語の設計と理論を理解する上で不可欠な概念となっている。
4. 思想と哲学
ストレイチーは、彼の著作を通じてプログラミング言語の根本的な概念を探求し、形式化することで、計算機科学における理論的基盤を強化した。
4.1. プログラミング言語の概念
彼の最も重要な理論的貢献の一つは、講義ノート『Fundamental Concepts in Programming Languages英語』に集約されている。この著作を通じて、彼はプログラミング言語の根本的な概念を深く掘り下げ、それらを形式的に定義しようと試みた。特に、L値とR値の区別を明確にすることで、変数の操作や式の評価に関する厳密な理解を促し、後のプログラミング言語設計に多大な影響を与えた。
5. 私生活
ストレイチーの私生活に関する公の情報は限られている。ケンブリッジ大学での学業期間中、彼は神経衰弱を患ったが、これは彼自身の同性愛傾向を受け入れることに関連していた可能性があるとされている。
6. 死去
クリストファー・ストレイチーは黄疸と診断された病気を患い、一度は回復したかに見えたものの、再発した。そして、1975年5月18日に感染性肝炎により58歳で死去した。彼の死後、1977年にアントニー・ホーアがオックスフォード大学プログラミング研究グループのグループ長を引き継いだ。
7. 遺産と評価
クリストファー・ストレイチーは、その革新的なアイデアと技術的貢献により、計算機科学の発展に計り知れない影響を与えた。
7.1. 肯定的な評価
ストレイチーの先駆的な業績は、計算機科学の発展において高く評価されている。彼は表示的意味論の創設者の一人であり、プログラミング言語設計とコンピュータのタイムシェアリングの分野で重要な役割を果たした。1971年には、彼の計算機科学における功績が認められ、英国コンピュータ学会の特別フェローに選出された。彼が開発した初期のチェッカーゲームプログラムや、世界初のコンピュータ音楽、電子文学の先駆けであるラブ・レター・ジェネレーターは、コンピュータの創造的な可能性を示した画期的な業績として記憶されている。また、「多相性」や「参照透過性」といった現代でも広く使われる用語の定義は、この分野の理論的基盤を固める上で不可欠な貢献であった。
7.2. 批判と論争
現在の資料では、クリストファー・ストレイチーの活動や思想に関連する具体的な批判や論争は言及されていない。
8. 影響
ストレイチーの業績と思想は、後世の計算機科学分野および現代のコンピューティング技術の発展に多大な影響を与えた。
8.1. 後世への影響
彼のタイムシェアリングの概念は、複数のユーザーが同時に一台のコンピュータ資源を共有することを可能にし、現代のオペレーティングシステムの基礎を築いた。また、表示的意味論におけるデイナ・スコットとの共同研究は、プログラミング言語の意味論を厳密に分析するための数学的枠組みを提供し、言語設計と検証の分野に深い影響を与えた。彼の講義ノート『Fundamental Concepts in Programming Languages英語』は、数十年後のプログラミング言語の設計と教育に不可欠なものとなっている。
8.2. 特定分野への貢献
ストレイチーは、プログラミング言語の設計において具体的な貢献をした。特にCPLの開発や、L値とR値の概念の形式化は、現代の言語設計に直接的な影響を与えている。また、汎用マクロジェネレータ(GPM)の設計・実装は、マクロプロセッサ技術の基礎となり、後のm4などのツールに大きな影響を与えた。これは、コード生成と自動化の分野における重要な進歩であった。
9. 記念と追悼
クリストファー・ストレイチーの功績を称え、彼の遺産は様々な形で記憶されている。
q=オックスフォード大学|position=right
オックスフォード大学コンピュータ科学科には、「クリストファー・ストレイチー計算機科学教授職」(Christopher Strachey Professorship of Computing)が設けられている。この教授職は以下の著名な学者によって継承されている。
- アントニー・ホーア (1988年 - 2000年)
- サムソン・エイブラムスキー (2000年 - 2021年)
- 吉田信子 (2022年 - )
2016年11月には、ストレイチーの生誕100周年を祝う「ストレイチー100」と題する記念イベントがオックスフォード大学で開催された。このイベントには、ボドリアン図書館のコレクションに保管されているクリストファー・ストレイチーのアーカイブが、ウェストン図書館で展示されるという催しも含まれていた。
10. 関連項目
- リットン・ストレイチー
- ブルームズベリー・グループ
- アラン・チューリング
- タイムシェアリングシステム
- 表示的意味論
- CPL (プログラミング言語)
- 汎用マクロジェネレータ
- M4 (プログラミング言語)
11. 外部リンク
- [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/s/Strachey:Christopher.html DBLP Bibliography Serverにおけるクリストファー・ストレイチーの論文リスト]
- [https://web.archive.org/web/20070926235419/http://vmoc.museophile.org/pioneers/strachey.html Virtual Museum of Computingにおけるクリストファー・ストレイチーの情報]
- [http://www.alpha60.de/art/love_letters/ マンチェスター・マークI上でクリストファー・ストレイチーのラブ・レター・アルゴリズムを実行するシミュレータ]
- [http://www.gingerbeardman.com/loveletter/ ワードリストを表示するクリストファー・ストレイチーのラブ・レター・アルゴリズムのWeb版]
- [http://www.brics.dk/~hosc/vol13/ 『Higher-Order and Symbolic Computation』誌、Volume 13, Issue 1/2(2000年4月)- クリストファー・ストレイチー追悼特別号]
- [http://www.cs.man.ac.uk/CCS/res/res43.htm#e Computer Conservation Society報『RESURRECTION』誌掲載の「パイオニア・プロファイル - クリストファー・ストレイチー」]