← すべての記事

エンジニアリング哲学:グレース・ホッパー、コンピューターに人間の言葉を話させる

グレース・ホッパー、アメリカ海軍少将でありコンピューティングの先駆者

要点

  • ホッパーの哲学を一行で言えば、こうなります。コンピューターに人間の言葉を話させるのであって、決して人間に機械の言葉を話させてはならない。
  • 最初のコンパイラー A-0(1952年)は、翻訳の負担を機械の側に置きました。すべてのプログラマーが永遠に手作業で払い続けるのではなく、ソフトウェアの中で一度だけ自動化する、という発想です。
  • ナノ秒のワイヤーは、レイテンシーを物理的な物体に変えました。手に取れる11.8インチ。これによって、無駄にした時間のコストはもはや抽象的なものではなくなったのです。
  • 「これまでずっとこうやってきた」――彼女にとって、これは言語の中で最も危険な一文でした。そして彼女の発明はどれも、その一文への答えだったのです。

原則

「人間は変化にアレルギーを持っています。『これまでずっとこうやってきた』と言うのが大好きなのです。私はそれと闘おうとしています。だから私の壁には、反時計回りに進む時計が掛かっているのです。」――グレース・ホッパー1

その気質は、ひとつの信念から生まれています。機械が人間に仕えるべきであって、その逆ではない、という信念です。プログラミングといえば特定の機械向けに数値命令を手書きすることを意味していた1953年、ホッパーは、データ処理の問題を英語の言葉で記述し、翻訳はコンピューターにやらせるべきだと提案しました。経営陣は、そんなことは不可能だと告げました――コンピューターは英語を理解しない、と。2 彼女は、コンピューターが英語を理解すると主張していたわけではありません。翻訳の負担は機械の側に属するべきであり、そこでなら一度だけ自動化できる、と主張していたのです。すべてのプログラマーが永遠に背負うのではなく。これがまさに哲学のすべてです。コンピューターに人間の言葉を話させよ、逆ではなく。

70年経った今では、それがどれほど急進的だったかを見落としがちです。当時の支配的な前提は、プログラミングとは機械の用語で思考できる人々のための難解な技芸であり、それが仕事の本質なのだ、というものでした。ホッパーの答えはこうです。仕事の本質とは、誰かがかつて下し、二度と見直されなかった選択にすぎない――「これまでずっとこうやってきた」が、物理法則のように凝り固まってしまっただけだ、と。彼女のキャリア全体が、その凝固への拒絶です。最初のコンパイラー、最初の英語に近い言語、そして人々が受け入れていた限界など本物ではないと教え続けた生涯。

教条への反骨と、アクセシビリティという使命は、同じ本能をふたつの側面から見たものです。抽象化――人が自分の言葉で意図を表現し、ツールがそれを機械語まで翻訳すること――は、プログラミングの上に重ねられた便宜などではありません。ホッパーにとって、それこそがプログラミングの目的でした。本来なら締め出されてしまう人々に機械を開く仕事だったのです。2016年にオバマ大統領が彼女に大統領自由勲章を授与したとき、その表彰文は率直に述べています。彼女は「最初のコンパイラーを発明し、それによってプログラムを通常の言葉で書き、コンピューターが理解できるよう翻訳できるようにした」と。3 良いツールはそれを使う人間のために最適化されるべきであって、それを動かす機械のためではない、という主張の根底にも、同じ信念が横たわっています。

背景

グレース・ブリュースター・マレー・ホッパーは、1906年12月9日、ニューヨーク市に生まれました。4 1928年にヴァッサー大学で数学と物理学の学士号を取得し、続いてイェール大学で修士号(1930年)、数学の博士号(1934年)を取得しました――彼女の世代でその学位を持つ女性はほとんどいませんでした。4 1930年代を通じてヴァッサーで数学を教えており、この点が重要です。プログラマーになる前、彼女は教師でした。難しい概念を掴ませようとする本能が、生涯離れることはなかったのです。

1943年12月、戦争のさなかに、彼女はアメリカ海軍予備役に加わりました。海軍は当初難色を示しました――彼女は36歳で、体重要件をかなり下回っていたのです――が、彼女は押し通し、1944年にハーバードの兵器計算プロジェクト局に配属され、ハワード・H・エイケンの下でHarvard Mark Iの最初のプログラマーの一人となりました。4 Mark Iは部屋を埋め尽くすほどの電気機械式計算機でした。ホッパーはその561ページに及ぶマニュアル『自動逐次制御計算機の操作マニュアル』を共著しており、これは長年にわたってこの機械をプログラムする方法の基礎文献でした。4

UNIVACのマニュアルと磁気テープのリールに囲まれて作業するグレース・ホッパー

戦後、彼女は現役を退きましたが予備役には残り、1949年にエッカート・モークリー・コンピューター社――間もなくレミントン・ランドの一部となります――に加わり、アメリカ初の商用コンピューターUNIVAC Iの開発に携わりました。4 そこでは、もはや一点物の研究用機械にコードを手で溶接しているのではなく、普通の企業が使える製品を作ろうとしていました。そして、その場所で彼女の生涯の問題が焦点を結んだのです。エイケンは彼女に機械を与えました。UNIVACは彼女に顧客を与えました。顧客はプログラムができません。そしてホッパーは、それは顧客の問題ではなくコンピューターが解決すべき問題だと決めたのです。

仕事

最初のコンパイラー:A-0(1952年)

1952年までに、ホッパーはA-0システムを作り上げていました。最初のコンパイラーとして広く認められているものです。5 その発想は、後から見れば恥ずかしいほど単純で、当時としては異端でした。プログラマーたちは便利なサブルーチンのライブラリを蓄えていましたが、ひとつを再利用するには、その命令を自分のプログラムに手でコピーし、すべてのメモリアドレスを骨の折れる作業で修正しなければなりませんでした。ホッパーのA-0では、各サブルーチンを短い呼び出し番号で参照し、引数を与えればよくなりました。システムがテープからルーチンを引き出し、アドレスを解決し、実行可能なプログラムを組み立てたのです。5

純粋主義者は、A-0は現代の最適化コンパイラーというより、今でいうローダーやリンカーに近い働きをしていた、と正しく指摘します。5 それは事実であり、述べる価値があります。しかし、永続するのは概念的な飛躍の部分です。プログラムは便利な記号で書かれた仕様でありうる、そして一片のソフトウェアがその仕様を機械語へ自動的に翻訳できる、という発想です。翻訳は今や機械の仕事になりました。なぜそれをしたのか、ホッパー自身の語りがUNIVAC時代の言葉として残っています。「私はかつて数学の教授でした。そのころ、数学を学べない学生が一定数いることに気づきました。その後、私はビジネスマンが私たちのコンピューターを簡単に使えるようにする仕事を任されたのです。」2 それ以来のすべてのコンパイラー――生の機械命令より上のどんな言語で誰かが書いた一行も――は、その決断の末裔です。

FLOW-MATIC、そしてCOBOLへの道

A-0は記号を翻訳しました。次の一歩は、その記号を英語にすることでした。1955年から1959年にかけて、ホッパーとレミントン・ランドのチームはFLOW-MATICを作りました。数学的記法ではなく英語に近い文で操作を表現する、最初のプログラミング言語です。6 FLOW-MATICのプログラムは INPUTCOMPAREMOVE といった命令で読めました――数学者でなくとも、ビジネスパーソンが読んでおおよそ理解できる言葉です。それは彼女の言葉を借りれば、機械の用語で思考するつもりなど決してない人々にもコンピューターを使えるようにする、意図的な仕事でした。

FLOW-MATICはそのままCOBOLへとつながりました。1959年にCODASYL委員会が共通のビジネス指向言語を設計するために招集されたとき、FLOW-MATICは現存する最も成熟した英語に近いデータ処理言語であり、新しい標準の主要な土台となりました。6 ホッパーが概念上のCOBOLの祖母と正しく呼ばれるのは、彼女が唯一の作者だからではなく、英語に近く機械から独立したビジネス言語を考えうるものにした仕事と提唱の主だからです。そして機械からの独立こそ、ここに束ねられた二つ目の急進的な発想です。彼女は、プログラムは一台に合わせて手作業で仕立てるのではなく、異なるコンピューター間で移植可能であるべきだという考えを擁護しました。これはUnixとCが有名にした、一度書けば移植できるという信念の直接の祖先です。同じコード、同じ英語が、それのために書かれたわけではない機械の上で動く。COBOLは周囲のほとんどすべてより長生きしました。数十年経った今も、世界の銀行や政府のシステムを動かしています。それ自体が、人間の読み手を中心に据えて築かれた発想の耐久性についての、静かな論証なのです。

ナノ秒:レイテンシーを物理的にする

ホッパーの最も有名な教材は、コードですらありませんでした。一本のワイヤーです。あるとき、衛星通信になぜそんなに時間がかかるのかと問われ、彼女は時間のコストを人が手に取れるものにしようとしました。彼女は11.8インチに切ったワイヤーを配りました――1ナノ秒、つまり10億分の1秒のあいだに電気が進める最大距離です――そうして、遅延という抽象的な単位を、手の中の物理的な物体に変えたのです。7 それから彼女は984フィートのコイルを取り出しました。それが1マイクロ秒だ、と説明したのです。「ときどき思うのです。これをすべてのプログラマーの机の上に吊るしておくべきだと」と彼女は言いました。「そうすれば、マイクロ秒を捨てるとき、自分が何を捨てているのかが分かるでしょう。」7

演壇で話すグレース・ホッパー准将、1985年

このワイヤーは、コンパイラーを駆り立てたのと同じ教師の本能が、別の教訓に向けられたものです。コンパイラーはこう言いました。機械を使うために機械の用語で思考する必要などない、と。ナノ秒はこう言いました。しかし機械の物理は尊重しなければならない、と。レイテンシーはもはやスライド上の数字ではなく、信号が物理的に横切らねばならない長さとなりました。光の速度に支配され、無駄にしたマイクロ秒のひとつひとつが、理由もなく信号に走らせたワイヤーなのです。このワイヤーは今、スミソニアンのアメリカ歴史博物館に収められています。8 それはまた、ほぼそっくりそのまま、ジョン・カーマックの「光の速度はクソだ」でもあります――40年早く、銅でできたものですが。どちらも、レイテンシーの厳然たる物理的な床を、抽象化して消し去ったり手を振って片付けたりできないものにしました。なぜなら、それは目に見えるから、あるいは手に取れるからです。

バグと、教条への反骨の気質

1947年9月9日、Harvard Mark II――エイケンの後継機で、ホッパーが携わったチームの機械です――のオペレーターたちが、リレー#70、パネルFに挟まった一匹の蛾に障害をたどり当てました。彼らはその虫を取り除き、ログブックにテープで留め、こう書きました。「バグが発見された最初の実例。」9 その蛾が今も貼り付いたままのログブックのページは、現在スミソニアンが所蔵しています。8

この物語の正直な版が重要なのは、ホッパーがあまりに巧みに語ったために事実がぼやけてしまったからです。蛾は本物で、日付も記録に残っています。しかし工学的な不具合を指す「バグ」という言葉は、彼女よりずっと前からありました――トーマス・エジソンの時代までさかのぼって使われていたのです――そしてオペレーターたちは、ほぼ間違いなく洒落を言っていました。すでに知っていた工学用語と、たった今こじ出した文字通りの虫とを掛け合わせたのです。9 多くの説によれば、ホッパーはそれを見つけた当人ですらありませんでした。彼女がしたのは、持ち前の才気で、この逸話と「バグ」「デバッグ」という語彙を広めたことです。それらが分野の母語になるまで。9 だから正確な功績はこうなります。彼女は「バグ」を造語したのではなく、おそらく蛾を捕まえたのでもありませんが、物語と言葉を定着させたのです。それはそれで一種の貢献です――またしても、教師の貢献です。

そのすべての背後にある気質は、受け継がれた前提に対する不断の戦争でした。彼女の壁の時計はわざと反時計回りに進みました。誰もが固定されたものとして扱う慣習も、別のものを作ろうと決めた瞬間に恣意的なものになる、と証明するためです。1「これまでずっとこうやってきた」――ホッパーにとって、これは言語の中で最も危険な一文でした。そしてコンパイラーも、英語に近い言語も、移植可能なプログラムも、手の中のワイヤーも、すべてその一文への答えだったのです。

方法

その方法は40年を通じて一貫しています――兵器計算、商用コンピューティング、言語設計、そして教えることに費やした生涯。

翻訳の負担を機械の側へ移す。 彼女のキャリアで繰り返される動きは、今あらゆる人間が手作業でやっている仕事――アドレスを解決し、数値オペコードで考え、コードを特定の一台に合わせる――を取り上げ、ソフトウェアの中で一度だけ自動化することです。コンパイラーはこの発想であり、FLOW-MATICもこの発想、機械からの独立もこの発想です。56

人々に自分の言葉を話させる。 プログラミングは、ユーザーがいる場所まで歩み寄るべきです。ビジネスパーソンは命令セットを暗記するのではなく、MOVECOMPARE と書けるべきなのです。アクセシビリティはツールに後付けされた機能ではありませんでした。ホッパーにとって、それはツールが存在する理由そのものでした。26

抽象的なものを物理的にする。 尊重するには抽象的すぎる発想――ナノ秒、無駄にしたマイクロ秒――があるなら、その教訓を否応なく突きつける物理的な物体を作りなさい。ワイヤーは工学としての教育法です。手に持っているものとは、議論のしようがないのですから。7

「これまでずっとこうやってきた」を疑え。 受け継がれた慣習を、法則ではなく仮説として扱いなさい。反時計回りの時計は、物の形をとった方法そのものです。ただ違うやり方をしてみせることで、その制約が恣意的だと証明するのです。1

許可ではなく、許しを求めよ。「良いアイデアなら、さっさとやってしまいなさい。許可を取るより、謝るほうがずっと簡単です」と彼女は助言しました――教条と闘うことの実践上の系です。(この心情は彼女より前からあり、正確な文言も出典によって異なりますが、海軍と分野が記憶している形では、この言葉は彼女のものです。)10 古いやり方に投資している人々がそれを祝福してくれるのを待っていても、抽象化にはたどり着けません。

影響の連鎖

彼女を形づくった人々

ハワード・エイケンとHarvard Mark I。 エイケンはホッパーに最初のコンピューターと最初の難問を手渡しました。そして彼女が共著したMark Iのマニュアルは、機械がどのように指示されるのかを厳密に考えることを彼女に強いました――それは彼女の生涯の仕事となる問いです。(直接的影響)

アメリカ海軍。 海軍は彼女に制度を、規律を、そして最終的には舞台を与えました。彼女は40年以上にわたって、断続的に軍服を着続けました。信頼でき、再現でき、教えられる手順を求める軍の要求が、プログラミングは職人芸ではなく体系的で移転可能なものにされなければならない、という彼女の信念を形づくりました。(形成的影響)

数学教授としての年月。 機械の前に、彼女は教えていました。教師の問い――自分のようには考えない誰かに、これをどう掴ませるか?――が、コンパイラーの、英語に近い言語の、そしてワイヤーの種です。(形成的影響)

彼女が形づくった人々

あらゆる高水準言語。 コンパイラーは、生の機械語以外の何かでプログラムすることを可能にしました。FORTRAN、COBOL、そしてそれ以降のすべては、A-0が証明した前提の上に立っています。ツールは人間に都合のよい記号を機械命令へ翻訳できる、という前提です。5

COBOLとビジネスコンピューティング。 概念上のCOBOLの祖母として、ホッパーは英語に近く機械から独立したプログラミングを世界中の企業の手に渡しました。この言語は今なお、世界の金融と政府のシステムの巨大な部分を動かしています。6

プログラミングの目的としてのアクセシビリティ。 最も深い遺産は言語ではなく、ひとつの立場です。より多くの人に機械を開くことこそが仕事なのであって、仕事の副産物ではない、という立場です。オバマの表彰文――「数百万人のさらに多くの人々にプログラミングを開いてくれたグレース・ホッパーに感謝できる」――は、まさにこれです。3

貫く一本の線

まつもとゆきひろは、プログラマーの幸福のために最適化するようRubyを設計しました――言語が人間に合わせて曲がるべきであって、人間が言語に合わせるのではない、と。それは1995年にもう一度語られたホッパーの「ビジネスマンが私たちのコンピューターを簡単に使えるようにする」です。コンピューターに人間の言葉を話させよの直接の哲学的継承者なのです。ジョン・カーマックの「光の速度はクソだ」は、彼女のナノ秒のワイヤーが一文として表現されたものです――どちらも、レイテンシーは物理的であり、抽象化して消し去るのではなく尊重すべき厳然たる床だと主張します。彼女はただ、40年早くそこにたどり着き、手に取れる銅で自分のそれを作ったのです。そしてトンプソンとリッチーのUnixとCは、オペレーティングシステムが一台の機械に溶接されるのではなく一度書いて移植できるように作られており、ホッパーがCOBOLのために擁護した機械からの独立を実践上で成就させたものです。同じプログラムが、それのために書かれたわけではないハードウェアの上で動く。(シリーズの架け橋)

ここから受け取るもの

私が手放さない教訓は、抽象化とは時間があるときに付け加える贅沢品ではない――それが仕事のすべてだ、というものです。ホッパーは1952年のプログラミングを見て、難しい部分が機械に触れるあらゆる人間によって背負われていることに気づき、その負担を、一度だけ払えばよいソフトウェアの中へ移しました。それこそ、私が今作るすべてのものでしようとする動きです。人間が何度も何度も手作業でやっている翻訳仕事を見つけ、それをツールの中へ自動化する。基準は品質が唯一の変数であるというのと同じです――問うべきは決して「このインターフェースに耐えるよう人を訓練できるか?」ではなく、「なぜそうしなければならないのか?」なのです。

私が今ものを作る世界――エージェント、ツールループ、AIシステム――では、ホッパーの二つの半分がどちらも荷重を支えており、しかもまさに生産的なやり方で互いを引っ張り合っています。アクセシビリティの半分はこう言います。人間に自分の言葉で意図を表現させ、それを機械が必要とするどんなものにでもシステムが翻訳させよ――それはほとんど文字通り、LLMのツール呼び出し層そのものであり、70年を経た英語のためのコンパイラーなのです。物理の半分はこう言います。しかし抽象化に、コストについて嘘をつかせてはならない。モデル呼び出しのひとつひとつが1ナノ秒のワイヤーであり、インターフェースが親切だからといってそれらを積み重ねるのは、目に見えないマイクロ秒を捨てるやり方なのだ、と。そして気質――反時計回りの時計、「これまでずっとこうやってきた」への拒絶――は、現在の慣習を法則と取り違える分野のまわりで、私が最も必要とする部分です。趣味判断は技術的なシステムである――受け継ぐ伝統ではなく、検証し変えることのできるものだ――というその信念は、1952年のコンパイラーから2026年のエージェントハーネスまでまっすぐに走っています。

FAQ

グレース・ホッパーのエンジニアリング哲学とは何ですか?

ホッパーの核心にある信念は、コンピューターが人間に仕えるよう作られるべきであって、その逆ではない、というものでした。人間の意図を機械命令へ翻訳する負担は、すべてのプログラマーが永遠に背負うのではなく、ソフトウェアの中に、一度だけ自動化されて属するべきだ、と。その単一の信念が、最初のコンパイラー(A-0、1952年)と、最初の英語に近いプログラミング言語(FLOW-MATIC)を生みました。どちらも、機械の用語で思考できない――そして思考する必要もない――人々にコンピューターを使えるようにすることを狙ったものです。256 このアクセシビリティの使命と対をなしていたのが、絶え間ない教条への反骨でした。それは「これまでずっとこうやってきた」が言語の中で最も危険な一句だ、という彼女の見方に集約されています。1

グレース・ホッパーは何を発明しましたか?

彼女は1952年にA-0システムを作りました。最初のコンパイラーとして広く認められているもので、記号的なプログラム仕様を機械語へ自動的に翻訳しました。5 その後、FLOW-MATIC(1955〜1959年)の開発を率いました。英語に近い文を使った最初のプログラミング言語であり、COBOLの主要な土台となったものです。6 彼女は概念上のCOBOLの祖母と呼ばれ、機械から独立したプログラミングの提唱者です。アメリカ海軍で少将の階級まで昇り、1986年に海軍最年長の現役士官として退役し、2016年に大統領自由勲章を死後に受けました。海軍の駆逐艦USS Hopperは彼女にちなんで名付けられています。34

グレース・ホッパーの「ナノ秒」のワイヤーとは何でしたか?

それは彼女の最も有名な教材でした。11.8インチに切ったワイヤーで、1ナノ秒(10億分の1秒)のあいだに電気が進める最大距離です。彼女はそれを配り、遅延という抽象的な単位を、手に取れる物理的な物体に変えたのです。7 彼女はそれを、1マイクロ秒を表す984フィートのコイルと対比させ、プログラマーたちに、これは「マイクロ秒を捨てるとき、自分が何を捨てているのか」を示すものだと語りました。7 教訓は、レイテンシーは抽象的なものではない――それは信号が横切らねばならない物理的な長さだ、というものでした。このワイヤーは今、スミソニアンのアメリカ歴史博物館にあります。8

グレース・ホッパーは「コンピューターのバグ」という言葉を造ったのですか?

いいえ。そして正直な版のほうがもっと興味深いのです。1947年9月9日、ハーバードのMark IIのオペレーターたちがリレーに挟まった蛾を見つけ、ログブックにテープで留め、「バグが発見された最初の実例」と書きました。そのログブックのページはスミソニアンが所蔵しています。89 しかし工学的な不具合を指す「バグ」という言葉は、その蛾より何十年も前からありました――トーマス・エジソンの時代に使われていたのです――そしてオペレーターたちは、ほぼ間違いなく、すでに知っていた用語に引っかけて洒落を言っていました。多くの説によれば、ホッパー自身が蛾を見つけたのではありません。彼女がしたのは、この逸話と「バグ」「デバッグ」という語彙を、分野の標準語になるまで広めたことです。9


出典


  1. Philip Schieber, “The Wit and Wisdom of Grace Hopper,” OCLC Newsletter, No. 167 (March/April 1987). 「人間は変化にアレルギーを持っています。『これまでずっとこうやってきた』と言うのが大好きなのです。私はそれと闘おうとしています。だから私の壁には、反時計回りに進む時計が掛かっているのです。」次も参照:“Grace Hopper,” Wikiquote. 

  2. “FLOW-MATIC,” Wikipedia. ホッパーは1953年後半に、データ処理の問題を英語のキーワードで表現することを提案したが、経営陣は当初それを実行不可能だと退けた。「私はかつて数学の教授でした。そのころ、数学を学べない学生が一定数いることに気づきました。その後、私はビジネスマンが私たちのコンピューターを簡単に使えるようにする仕事を任されたのです。」 

  3. President Barack Obama, “Remarks by the President at Presentation of the Presidential Medal of Freedom,” The White House, November 22, 2016. 「ライト兄弟が飛行で、エジソンが光なら、ホッパーはコードだ。」「彼女は最初のコンパイラーを発明し、それによってプログラムを通常の言葉で書き、コンピューターが理解できるよう翻訳できるようにした。」 

  4. “Grace Hopper,” Wikipedia. 1906年12月9日ニューヨーク市生まれ、1992年1月1日死去。ヴァッサー大学BA(1928年)、イェール大学MS(1930年)および数学PhD(1934年)。1943年にアメリカ海軍予備役に加入。1944年にハワード・エイケンの下でHarvard Mark Iに配属、Mark Iマニュアルを共著。1949年にエッカート・モークリー/レミントン・ランドに加わりUNIVAC Iの開発に携わる。少将まで昇進。1986年8月に海軍最年長の現役士官として退役。USS Hopper(DDG-70)が彼女にちなんで命名された。 

  5. “A-0 System,” Wikipedia. 1951〜1952年にグレース・ホッパーがUNIVAC I向けに作成。最初のコンパイラーとして広く認められているが、現代のコンパイラーというよりローダー/リンカーに近い働きをした――呼び出し番号と引数で指定されたサブルーチンを受け取り、実行可能な機械語コードを組み立てた。A-1、A-2、そして最終的にFLOW-MATICが続いた。 

  6. “FLOW-MATIC,” Wikipedia. レミントン・ランドでホッパーの下、1955〜1959年に開発。英語に近い文で操作を表現した最初のプログラミング言語。1958〜1959年に実用化。1959年のCODASYLの取り組みを通じてCOBOLを直接形づくり、ファイル編成、データ修飾、プログラム部構造を受け渡した。次も参照:“COBOL,” Wikipedia、FLOW-MATICが言語の主要な土台であることについて。 

  7. “Grace Hopper Explains the Nanosecond,” ratfactor、彼女の講義の書き起こし。および “Grace Hopper to Programmers: Mind Your Nanoseconds!,” High Scalability. 1ナノ秒は11.8インチのワイヤー(10億分の1秒のあいだに電気が進む最大距離)、1マイクロ秒は984フィートのコイル。「ときどき思うのです。これをすべてのプログラマーの机の上に吊るしておくべきだと……そうすれば、マイクロ秒を捨てるとき、自分が何を捨てているのかが分かるでしょう。」 

  8. “Nanoseconds Associated with Grace Hopper,” および “Log Book With Computer Bug,” Smithsonian National Museum of American History. 11.8インチのナノ秒ワイヤーと、蛾の付いた1947年のMark IIログブックのページは、博物館の所蔵品である。 

  9. “Bug (engineering),” Wikipedia、および “The First Use of ‘Bug’ in the Context of Computing,” HistoryofInformation.com. 1947年9月9日、Harvard Mark IIのオペレーターたちがリレー#70、パネルFに蛾を見つけ、「バグが発見された最初の実例」と記録した。工学的な不具合を指す「バグ」という用語はこれより数十年前(エジソンの時代まで)にさかのぼる。ホッパーはおそらく蛾を見つけた当人ではなかったが、この逸話と「バグ」「デバッグ」という用語を広めるのに貢献した。次も参照:“The Bug in the Computer Bug Story,” JSTOR Daily. 

  10. “Grace Hopper,” Wikiquote. 「良いアイデアなら、さっさとやってしまいなさい。許可を取るより、謝るほうがずっと簡単です。」ホッパーの言葉として広く帰属されている(アメリカ海軍のChips誌、1986年7月にも引用)。Wikiquoteは、その根底にある心情がホッパー以前にも印刷物に現れていると注記しており、したがって文言は記憶されている形では彼女のものだが、発想自体はより古い。帰属に関する議論:Quote Investigator. 

関連記事

エンジニアリング哲学:バーバラ・リスコフ、契約こそが型である

バーバラ・リスコフはデータ抽象をプログラミングの基本要素へと押し上げました。型とはそれが守る契約であり、サブタイプはスーパータイプが交わすあらゆる約束を必ず果たさなければなりません。

2 分で読める

エンジニアリング哲学:Roberto Ierusalimschy

Roberto Ierusalimschyは、ただひとつの原則——ポリシーではなくメカニズム——を軸にLuaを設計しました。小さく、速く、組み込み可能な言語は、規則ではなくレバーをあなたに手渡します。

3 分で読める

The Shader Gallery That Lied: Debugging 216 WebGL Presets

A user said the shader playground looked broken. Pixel-readback testing found 30 dead presets, 11 that never compiled, a…

11 分で読める