1. 身近な「プログラミング言語」を逆算する
「Python で書く」「Java で書く」「COBOL で書く」。プログラマが使う数千の言語、その源流の一つが COBOL。さらに「バグ (bug)」「デバッグ (debug)」というプログラマ用語の語源にも、グレース・ホッパーが関わっています。
プログラミングが今も「機械語の数字を直接書く」作業のままだった可能性。彼女はコンパイラ (人間が書いた言語を機械語に変換する仕組み) の概念を提唱し、COBOL という英語に近い言語を設計した。これがなければ、エンジニア人口は今の 1/100 程度かもしれない。
2. 100 文字でわかる
グレース・ホッパー (1906〜1992)。米海軍少将、数学者。1952 年世界初のコンパイラ A-0 を開発、1959 年 COBOL を設計。「バグ」の語源 (1947 年、本物の蛾がコンピュータ内で発見) でも有名。
3. 500 文字でわかる
1906 年ニューヨーク生まれ。1934 年イェール大学で数学博士号 (女性として珍しい時代)。第二次大戦中の 1943 年、海軍予備役として Mark I 計算機 のプログラミングを担当。これが彼女のキャリアの起点。1952 年、世界初のコンパイラ A-0 を開発、「機械語ではなく英語に近い言語でプログラムを書けば良いのでは?」という当時奇抜なアイデアを実装。1959 年、米国防総省の委員会で COBOL (Common Business-Oriented Language) 設計の中心人物となる。COBOL は「英語っぽい構文」(MOVE A TO B 等) で、ビジネスソフト用言語として 60 年以上使われ続けている。1947 年、Mark II 計算機が誤動作した時、内部に挟まった蛾 (bug) を発見、ログに「first actual case of bug being found」と記録。これが「バグ」「デバッグ」の語源として広まった (蛾を発見する前から bug = 機械故障の用語はあったが、有名にしたのは彼女)。米海軍少将に昇進、史上 2 人目の女性提督。1992 年没。
4. もっと詳しく:グレース・ホッパーの生涯
数学者から海軍へ
1906 年 12 月 9 日、ニューヨーク生まれ。1928 年ヴァッサー大学を卒業、1934 年イェール大学で数学博士号取得 (当時、女性博士は極めて稀)。母校ヴァッサー大学で教鞭をとっていたが、1941 年の真珠湾攻撃を受け、海軍への入隊を志願。痩せすぎ・年齢制限超え (37 歳) で当初は拒否されたが、1943 年に海軍予備役 (WAVES) に入隊。
Mark I とコンパイラの発明
ハーバード大学に派遣され、Mark I という最初期の電気機械式コンピュータのプログラミング担当に。当時のプログラミングは「ビット (0/1) の組合せを直接書く」作業で、極めて非効率だった。彼女は「人間が読みやすい記号で書いて、コンピュータが機械語に翻訳する」という発想に至り、1952 年に 世界初のコンパイラ A-0 を実装。当時の権威からは「数字を読めない機械なんて作れない」と否定されたが、後にこの概念がすべてのプログラミング言語の基礎となった。
「バグ」の語源 (1947)
1947 年 9 月 9 日、Mark II 計算機が誤動作。原因を調査したところ、リレー (機械式スイッチ) の接点に 蛾 (moth) が挟まっていた。グレースのチームは蛾をログ帳に貼り付け、「First actual case of bug being found」(初めて本当のバグが見つかった事例) と記録。「bug = 機械の故障」という言葉は当時からあったが、本物の虫だったので面白がって流布、現代の「バグ」「デバッグ」用語が一般化した。この日記は今もスミソニアン博物館に保存されている。
COBOL の設計 (1959)
1959 年、米国防総省主催の会議「CODASYL」で、ビジネス向けの共通プログラミング言語の設計が始まった。グレースは中心メンバーとして、それまでの自身の言語 FLOW-MATIC を基礎に COBOL を設計。「英語っぽい構文」が特徴で、`MOVE QUANTITY TO TOTAL` のように、英語が読める人なら何となく意味が分かるよう設計された。COBOL は今も米国の銀行・政府・航空会社などのレガシーシステムで稼働中、世界の金融取引の 70% が COBOL で動くとも言われる。
海軍少将への昇進と晩年
1986 年、79 歳で米海軍少将に昇進。当時、米海軍史上最年長の現役士官。退役後も大学やコンピュータ業界で講演を続けた。彼女のお気に入りの口癖は 「Dare and do (やってみよう、やればできる)」、「A ship in port is safe, but that's not what ships are built for (港にいる船は安全だが、船はそのために作られたのではない)」。1992 年 1 月 1 日、85 歳で死去、海軍葬で送られた。
5. 現代への影響
- COBOL レガシー: 銀行・航空会社・年金システムで今も稼働、COBOL プログラマは引く手数多
- コンパイラの概念: Python・Java・C++ 等すべての言語の根底
- バグ・デバッグ: 全プログラマが日常的に使う用語
- 女性 STEM ロールモデル: 女子学生にコンピュータ科学の道を示した
- 米海軍駆逐艦「USS Hopper」: 1996 年命名
6. もっと知りたい人へ
- Wikipedia (日本語): グレース・ホッパー
- 最初のバグの写真: スミソニアン博物館所蔵 (検索: 'first computer bug')
- Hopper Conference: 女性 IT 技術者の世界最大カンファレンス、彼女の名前が冠されている
- 米海軍駆逐艦 USS Hopper: 1996 年命名のミサイル駆逐艦
7. 次の話
EP.04 では クロード・シャノン を扱います。「情報」を 0 と 1 で測る方法を発明した、デジタル時代の概念の父です。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。