💻The Greats

ソフトウェアエンジニア · 現代生活を動かすコードを書き、テストし、保守する仕事であり、AIが自分自身の日々の作業を自動化していく様子を最初に目の当たりにしている職業の一つでもある。

ソフトウェアエンジニアリングの正典は、医学や法律のそれより短く若い。そしてその驚くほど大きな部分が、プログラミングがまだ重要だとは思われていなかった、男性ばかりの部屋で働いていた女性たちによって書かれた。ここに紹介する8人は、決して作られなかった機械のために文章を書いた伯爵夫人から、60代になっても自らの創造物を保守し続ける日本の言語設計者まで、幅広く及ぶ。

彼らを結びつけるのは共通の背景ではない──4か国、180年以上にまたがる──共通しているのは、ソフトウェアが動くかどうかと同じくらい、どう作られるかが重要だという主張である。

The all-time podium

グレース・ホッパー
グレース・ホッパー
米国
2
デニス・リッチー
デニス・リッチー
米国
1
マーガレット・ハミルトン
マーガレット・ハミルトン
米国
3

The eight who reached the top

1
Photograph of Dennis Ritchie Denise Panyik-Dale · CC BY 2.0

デニス・リッチー

米国 · 1941〜2011年

ベル研究所でUnixを共同開発し、C言語を設計した。業界に可搬性のあるオペレーティングシステムと、後のほとんどの言語が構文を借用した言語を与えた。1983年にケン・トンプソンとともにチューリング賞を受賞。今日動いているほとんどのオペレーティングシステムは彼の仕事の子孫か、その子孫のツールで作られている。

The story

トンプソンとともに、リッチーは1973年にUnixをC言語で書き直した。これにより一つの機種に縛られず新しいハードウェアへ移植できるようになった──この決断のおかげでUnixとその後継すべては、いかなる単一のコンピューターよりも長く生き延びた。彼は2011年10月12日、ニュージャージー州バーカレー・ハイツの自宅で死去した。1週間前に亡くなったスティーブ・ジョブズの死にほとんど覆い隠されたが、ジョブズ自身の製品の中でもリッチーの仕事の上に築かれたソフトウェアが動いていた。

“作った機械よりも仕事が長生きするように作る──可搬性のおかげでUnixのアイデアは50年のハードウェアの変遷を生き延びた。”

チューリング賞
1983年(トンプソンと共同)
Cから派生した言語
C++、Java、C#、JavaScript…
ベル研究所での在籍期間
約40年
2
Photograph of Grace Hopper in Navy uniform James S. Davis · Public domain

グレース・ホッパー

米国 · 1906〜1992年

1952年に最初の実用的なコンパイラを開発した数学者・海軍士官で、人は生の機械命令ではなく英語に近いもので プログラムすべきだと主張した。その主張は直接COBOLにつながり、70年経った今も銀行や航空会社、政府機関の中で動き続けている。

The story

痩せすぎているという理由で現役任務を拒否されたホッパーは、1943年に海軍予備役に入隊し、後にハーバード・マークIのプログラミングを任された。1947年9月、彼女のマークIIチームはリレーに詰まったガを日誌に貼り付け、「バグが実際に発見された最初の事例」と記した──ホッパーが「バグ」という言葉を作ったわけではないが、彼女は何十年もこの話を語り続け、それがこの分野の創世神話となった。

“機械にプログラマーの言葉を話させる。逆だけではいけない。”

海軍でのキャリア
43年、少将
退役時の年齢
79歳、現役最高齢の士官
大統領自由勲章
2016年(死後)
3
Photograph of Margaret Hamilton standing next to a stack of Apollo software listings Daphne Weld Nichols · CC BY-SA 3.0

マーガレット・ハミルトン

米国 · 1936年生まれ

MITの計装研究所でアポロ計画の船内飛行ソフトウェアを書いたチームを率い、コードもハードウェアエンジニアリングと同じ厳密さと敬意に値すると主張して「ソフトウェアエンジニアリング」という用語を広めた人物として広く評価されている。

The story

1969年7月、アポロ11号の月面着陸中、誤設定されたレーダースイッチが余分な処理を送り込んだため、誘導コンピューターは1202と1201のアラームを出し始めた。ハミルトンのチームはソフトウェアを、クラッシュするのではなく過負荷時に優先度の低いタスクを切り捨てるよう設計していたため、着陸誘導は動き続けた。NASAのエンジニアが手書きしたアラーム対応表を頼りに、ミッションコントロールは中止ではなく「続行(go)」を告げた。

“すべてが計画通りに動くときだけでなく、過負荷時にも優雅に失敗するようソフトウェアを設計する。”

大統領自由勲章
2016年
歴史的なミッション
アポロ11号着陸、1969年
MITでの役職
ソフトウェアエンジニアリング部門長
4
Photograph of Linus Torvalds Krd (photo) Von Sprat (crop/extraction) · CC BY-SA 4.0

リーナス・トーバルズ

フィンランド/米国 · 1969年生まれ

1991年にヘルシンキの学生の趣味プロジェクトとしてLinuxカーネルを始め、14年後にはGitの中核部分を約10日間で書き上げた。両プロジェクトは今や公開インターネットの大部分、世界の携帯電話の大部分、そしてプロのソフトウェアチームの日々の作業フローの大部分を支えている。

The story

1991年8月25日、トーバルズはUsenetのcomp.os.minixグループに、「(無料の)オペレーティングシステムを書いている(GNUのような大規模で本格的なものにはならない、単なる趣味だ)」と投稿した。世界中のボランティアが数か月以内に貢献を始めた。2005年、ライセンス紛争でカーネルチームが既存のソースコード管理ツールから切り離されると、彼は他の誰かが作るのを待つのではなく、自らGitの中核を約10日間で書き上げた。

“自由に共有され公然と議論される動くコードは、閉じた委員会の完璧な設計に勝る。”

Linuxカーネル開始
1991年、21歳
Git執筆期間
約10日間、2005年
Linuxベースのデバイス
数十億台、全Androidを含む
5
Photograph of Barbara Liskov Kenneth C. Zirkel · CC BY-SA 3.0

バーバラ・リスコフ

米国 · 1939年生まれ

1970年代半ばにMITでCLUを構築し、実際のデータ抽象化を実現した最初期の言語の一つを生み出した。後に、今もエンジニアがクラス階層を設計する際に従う置換原則を定式化した。2008年、女性としては2人目のチューリング賞受賞者となった。

The story

リスコフは1968年、スタンフォード大学でコンピューターサイエンスの博士号を取得した、米国でこれを成し遂げた最初期の女性の一人である。MITでは1974〜1975年にCLUを構築するチームを率い、「オブジェクト指向プログラミング」という言葉が一般化するより前に抽象データ型を導入した。1987年の基調講演で、後にリスコフの置換原則として知られるようになる原則を述べ、これは今やほぼすべてのエンジニアが学ぶSOLID設計原則の「L」となっている。

“サブタイプはスーパータイプが交わしたあらゆる約束を守らなければならない。さもなければ抽象化はあなたを守ってくれない。”

チューリング賞
2008年(女性として2人目)
コンピューターサイエンス博士号
1968年、スタンフォード大学
CLU言語の構築
1974〜75年、MIT
6
Portrait of Ada Lovelace Antoine Claudet · Public domain

エイダ・ラブレス

英国 · 1815〜1852年

1843年、ラブレスはチャールズ・バベッジの実現されなかった解析機関に関するイタリアの論文を翻訳・注釈し、最も長い注釈の中で、機械が数列を計算する方法を段階的に書き記した──まだ存在しないコンピューターのために書かれた動くプログラムである。

The story

ルイジ・メナブレアの論文の翻訳に添えた7つの注釈のうち最長の注記Gは、解析機関の演算カードがベルヌーイ数を計算する方法を示しており、彼女は出版前にその計算の誤りを発見し訂正した。彼女は1852年、36歳でがんのため死去した。彼女が書いたものを実行できる機械が作られるより数十年前のことである。プログラミング言語Adaは1980年に米国国防総省が採用し、彼女にちなんで名付けられた。

“プログラムは、それを実行する機械がまだ存在しなくても設計しデバッグできる。”

注釈発表
1843年
死亡時の年齢
36歳
彼女にちなんだ言語
Ada、1980年、米国国防総省
7

フランシス・アレン

米国 · 1932〜2020年

キャリアのほぼすべてをIBMリサーチで過ごし、コンパイラが最初に生成する文字通り非効率なコードを、エンジニアが実際に出荷する高速なプログラムへと変える研究を行い、現代の最適化・並列化コンパイラの数学的基盤を築いた。2006年、女性として初めてチューリング賞を受賞した。

The story

アレンはニューヨーク州ペルーの、電気も水道もない酪農場で育ち、主に教職で負った大学の借金を返すため1957年にIBMに入社した。1966年の論文『プログラム最適化』は、今もコンパイラの授業で教えられるグラフに基づくコード解析手法を紹介した。後にPTRANというプロジェクトを率い、古いFortranプログラムに隠れた並列性をコンパイラが自動的に見つけられるようにし、1989年にはIBM初の女性フェローとなった。

“人が書くプログラムと、機械が実行すべきプログラムは別の問題である。両方を解け。”

チューリング賞
2006年(女性初)
IBMフェロー
1989年(女性初)
IBMリサーチでの在籍期間
約45年
8

まつもとゆきひろ

日本 · 1965年生まれ

1993年からプログラミング言語Rubyを設計し、機械の効率ではなくプログラマーの幸福という一つの明確な目標を掲げた。それは初期のTwitter、GitHub、Shopifyの原動力となり、Railsが牽引した広範なスタートアップの波を後押しした。

The story

まつもとは1993年2月、Perl、Smalltalk、Eiffel、Lisp、Adaの要素を組み合わせながら紙の上でRubyの構想を練り始め、1995年に公開した。彼はコンピューターのために最適化するのではなく、プログラマーを幸せにすることが目標だったと語っており、この哲学はRubyコミュニティ自身のモットー「Matzは親切だから、私たちも親切にしよう」に転じた──言語がどう振る舞うべきかだけでなく、貢献者同士がどう接するべきかについての規則である。

“機械に何を計算させられるかだけでなく、使う人がどう感じるかのためにツールを設計する。”

Rubyの初公開
1995年
Rubyを設計している年数
1993年から
役職
Rubyチーフデザイナー

バーはこのリストの首位を基準にした相対値です。

比較ラボ

Toggle names on and off — every bar rescales to the leader of your selection.

5 / 8

The argument

1968年のNATO会議が「ソフトウェアエンジニアリング」という言葉を「作った」かどうかは議論がある。マーガレット・ハミルトンらは、ガルミッシュの会議より前からこの表現のいくつかの形がエンジニアリング界隈で非公式に使われており、会議はそれを発明したのではなく普及させたのだと述べている。

Linuxをめぐる命名と功績についても長く続く独自の論争がある。リチャード・ストールマンとフリーソフトウェア財団は、周辺のツールチェーンの多くがトーバルズのカーネルより前から存在したGNUプロジェクト由来であるため、このオペレーティングシステムは「GNU/Linux」と呼ばれるべきだと主張している。

Keep exploring

More in Engineering & Technology