クリストファー・ストレイチー(Christopher Strachey、
1916年11月16日 -
1975年5月18日)は、
イギリスの
計算機科学者であり、プログラミング言語の理論や初期のコンピュータプログラム開発において重要な役割を果たしました。ストレイチー家は、政治家、芸術家、役人、学者を輩出した名家として知られています。
生い立ちと教育
1916年、ロンドンのハムステッドで、外交官のオリヴァー・ストレイチーとレイチェルの息子として生まれました。彼の家系は、インドの植民地行政に関わったリチャード・ストレイチーや
準男爵のヘンリー・ストレイチーといった人物を輩出しています。また、一家は
ヴァージニア・ウルフや
ジョン・メイナード・ケインズらが所属した
ブルームズベリー・グループにも関わりがあり、叔父の
リットン・ストレイチーもその一員でした。
13歳でグレシャムズ・スクールに入学しますが、知的な才能はあったものの、成績は必ずしも優秀ではありませんでした。1935年には
ケンブリッジ大学キングス・カレッジに進学しますが、学業への熱意は今ひとつでした。当初は数学を専攻しましたが、後に物理学に転向します。大学3年目には神経症を患い、その原因は自身の同性愛傾向との葛藤にあるとされています。ケンブリッジに戻った後も、成績は振るいませんでした。
職業生活とコンピュータとの出会い
大学卒業後、ストレイチーはStandard Telephones and Cables(STC)に研究者として就職しました。彼の最初の仕事は、
レーダーに使用される電子管の設計のための数学的解析でした。この複雑な計算を行うために、微分解析機を使用する必要があり、これが彼のコンピュータへの興味を点火させるきっかけとなりました。彼は計算機械の研究を始めましたが、
ケンブリッジ大学に研究計画を提案しても受け入れられなかったため、第二次世界大戦が終わるまでSTCに勤務し続けました。
戦後、長年の希望であった教師として採用され、数学と物理を教えることになります。1949年には名門ハーロー校に移り、3年間勤務しました。
1951年1月、ストレイチーは国立物理学研究所(NPL)のマイク・ウッジャーと知り合い、NPLが
アラン・チューリングのAutomatic Computing Engine(ACE)の縮小版であるパイロットACEというコンピュータを完成させていたことを知ります。ストレイチーは、パイロットACEで
チェッカーをプレイするプログラムを開発し、1951年2月に完成させました。このプログラムはパイロットACEのメモリを最大限に活用し、同年7月30日に実際に動作しました。その後、彼はマンチェスター大学のManchester Mark Iの方がメモリ容量が大きいことを知り、旧友である
アラン・チューリングにマニュアルを依頼して、自身のプログラムをMark I向けに書き直しました。これにより、「
チェッカーを妥当な速度で最後までプレイできる」プログラムを実現しました。さらに、初期の
コンピュータ音楽プログラムの一つとして「メエメエ黒羊さん」を演奏させるプログラムも作成しました。
NRDCでの活動とタイムシェアリングの概念
1952年から1959年まで、ストレイチーは
イギリス国立研究開発公社(NRDC)で働きました。
セントローレンス海路プロジェクトに従事する中で、アメリカのコンピュータセンターを訪問し、様々なコンピュータの命令セットを収集しました。その後、Elliott 401とFerranti Pegasus向けのプログラムを作成しています。また、
ロジャー・ペンローズらとともに航空機の振動解析を行い、タイムシェアリングの概念を生み出しました。
1959年、NRDCを辞めた後は、コンピュータ・コンサルタントとして、NRDC、EMI、フェランティなどの組織と契約し、コンピュータの論理設計やautocode、
高水準言語の設計などのプロジェクトに取り組みました。Ferranti Orionへのautocode移植の際には、ピーター・ランディンを雇いました。
アカデミックなキャリア
1962年、コンサルタント業を続けながら、
ケンブリッジ大学で職を得ました。1965年には
オックスフォード大学でも職を得て、後に同大学初の
計算機科学の教授に就任しました。また、デイナ・スコットと共同研究を行いました。
主な業績
ストレイチーはプログラミング言語CPLを開発しました。また、講義ノート『Fundamental Concepts in Programming Languages』では、左辺値と右辺値を定式化しました。さらに、「カリー化」(currying)という用語も彼が考案しました(概念自体は以前から存在しました)。
ハードウェアの分野では、Ferranti Pegasusコンピュータの設計に関わりました。
ストレイチーは、GPM(General Purpose Macrogenerator)というマクロプロセッサを設計・実装しました。GPMは初期の汎用マクロプロセッサの一つで、今日でもAutoconfなどで使用されるm4はGPMに大きな影響を受けています。プログラマーとしての才能を発揮し、GPMをわずか250個の
機械語命令に収めました。
クリストファー・ストレイチーの業績は、
計算機科学の発展に大きく貢献し、彼のアイデアは現代のコンピュータ技術の基礎となっています。
関連項目
リットン・ストレイチー
参考文献
Copeland, B.J. A Brief History of Computing, AlanTuring.net, June 2000.
Lavington, S. The Pegasus Story, Science Museum, 2000. ISBN 1-900747-40-5.
C. Strachey, An impossible program, The Computer Journal, 7(4):313, January 1965.
外部リンク
List of publications from the DBLP Bibliography Server.
Christopher Strachey (1916–1975) at the Virtual Museum of Computing
A simulator of the Manchester Mark 1, executing Christopher Strachey's Love letter algorithm from 1952
A web based version of Christopher Strachey's Love letter algorithm showing word lists
Higher-Order and Symbolic Computation Volume 13, Issue 1/2 (April 2000) Special Issue in memory of Christopher Strachey
"Pioneer Profiles - Christopher Strachey" in RESURRECTION. The Bulletin of the Computer Conservation Society. Number 43. Summer 2008. ISSN 0958-7403.