これまで私たちは「言語」そのものを見てきました。本章では視点を変え、その言語を作り、育て、統治してきた「人間」と「組織」に 光を当てます。天才的な個人設計者の哲学、彼らに贈られたチューリング賞、そして「誰が言語の未来を決めるのか」という ガバナンスの進化。最後は、言語史を彩る愉快な逸話と名言で、長い旅を一息つきましょう。
設計者たちと、その哲学
言語にはそれぞれ「親」がいます。そして親の哲学は、子(言語)の性格に色濃く反映されます。 計算機科学の最高栄誉チューリング賞の受賞者には、言語設計者が綺羅星のごとく並びます。
| 設計者 | 言語 | 設計哲学 | チューリング賞 |
|---|---|---|---|
| John Backus | FORTRAN | 科学技術計算の高水準化。後にBNFにも貢献 | 1977 |
| John McCarthy | LISP | λ計算に立脚。GC・再帰・コードとデータの同一視 | 1971 |
| Edsger Dijkstra | (構造化) | プログラムは正しく構成されるべき | 1972 |
| Niklaus Wirth | Pascal | 教育的明快さと規律 | 1984 |
| Dennis Ritchie / Ken Thompson | C / UNIX | 実用的・簡潔・移植性。プログラマを信頼 | 1983 |
| Barbara Liskov | CLU | 抽象データ型、Liskov置換原則 | 2008 |
| Dahl & Nygaard | Simula | 現実をオブジェクトでモデル化 | 2001 |
一方で、チューリング賞を受けていない巨人も多くいます。C++のストロヴストルップ、Pythonのグイド、 Rubyのまつもと、JavaScriptのアイク、そして稀代の言語職人アンダース・ヘルスバーグ(Turbo Pascal→Delphi→C#→TypeScript)。 彼らは学術的栄誉とは別の形で、現代のソフトウェアを実質的に形づくりました。
ガバナンスの3モデル — 誰が未来を決めるか
言語が一人の天才の手を離れて成長すると、「次のバージョンに何を入れるか」を決める統治(ガバナンス)が必要になります。 歴史的に3つのモデルが現れました。
graph TD
subgraph BDFL[BDFL モデル]
P[Python\nGuido = 慈悲深い終身独裁者]
end
subgraph COMM[コミュニティ駆動]
R[Rust\nFoundation + RFC投票]
end
subgraph CORP[企業主導]
G[Go = Google]
S[Swift = Apple]
T[C#/TS = Microsoft]
end
P -->|2018年 引退| SC[Steering Council\n評議会制へ移行]
style P fill:#8b5cf6,stroke:#6d28d9,color:#fff
style R fill:#f97316,stroke:#ea580c,color:#fff
style SC fill:#14b8a6,stroke:#0d9488,color:#fffBDFL — 慈悲深い終身独裁者
Pythonのグイド・ヴァンロッサムは長年、BDFL(Benevolent Dictator For Life=慈悲深い終身独裁者)と呼ばれ、
最終決定権を握ってきました。しかし2018年7月、代入式(ウォルラス演算子 :=)をめぐる消耗的な論争に疲れ、
彼は突然BDFLを引退します。後継を指名せず、コミュニティに統治を委ねました。その結果、Pythonは
選挙で選ばれるSteering Council(運営評議会)による合議制へ移行しました。「独裁から民主制へ」の歴史的転換です。
コミュニティ駆動と企業主導
Rustは対照的に、早くからRFC(Request for Comments)という公開提案プロセスで設計を決め、 2021年にはRust Foundation(AWS・Google・Microsoftらが創設)を設立しました。中立的な財団とコミュニティの合議で 進む典型です。一方、Go=Google、Swift=Apple、C#/TypeScript=Microsoftは企業主導。 豊富なリソースで強力に開発が進む反面、方向性は企業の戦略に左右されます。
標準化 — 言語に「公式仕様」を与える
もう一つの統治の形が、標準化機関による公式仕様の制定です。これにより、異なる企業が作ったコンパイラでも 同じ言語として互換性が保たれます。
| 言語 | 標準 | 機関・委員会 | 備考 |
|---|---|---|---|
| C | C89/C90(ANSI X3.159-1989) | ANSI → ISO | K&R本(1978)が非公式標準、後にANSI公式化 |
| C++ | C++98(ISO/IEC 14882:1998) | ISO WG21 | 現在もC++26などへ継続進化中 |
| JavaScript | ECMAScript(ECMA-262, 1997〜) | Ecma TC39 | 「JavaScript」は商標問題でECMAScriptに。Stage制で毎年更新 |
| FORTRAN | FORTRAN 66(ANSI X3.9-1966)ほか | ANSI | 史上初級のプログラミング言語標準 |
コラム — 言語史を彩る逸話と名言
最後に、長い旅の締めくくりとして、プログラミング言語史を人間味豊かに彩るエピソードを集めました。
命名の秘密
- Python — 蛇ではなく英国コメディ『モンティ・パイソン』。だからメタ構文変数は
foo/barではなくspam/eggs - Java — 元は「Oak(樫)」。商標の都合でコーヒー(ジャワ島産)に。ブラウザは「HotJava」
- Ruby — 同僚の誕生石。6月の誕生石パール(Perl)への対抗として7月のルビー、というニュアンスも
- Bash — Bourne shellの「生まれ変わり(Bourne-again shell)」というダジャレ
- Git — トーバルズ曰く「俺は自己中だから、プロジェクトは全部自分にちなんで名付ける。最初がLinux、今度がgit(=英俗語で嫌な奴)」
珠玉の名言
他にも珠玉の名言が残されています:
- ビャーネ・ストロヴストルップ:「言語には2種類しかない。みんなが文句を言う言語と、誰も使わない言語だ」
- エドガー・ダイクストラ:「テストはバグの存在を示すことはできるが、その不在を示すことは決してできない」
- トニー・ホーア(1980チューリング賞講演):「ソフトウェア設計には2つの方法がある。欠陥がないほど単純に作るか、明白な欠陥がないほど複雑に作るかだ。前者のほうがはるかに難しい」
グレース・ホッパーの「蛾」
Mark IIに挟まった蛾を「最初の実際のbugの発見」とログに。debugの語を広めた(※bugの語自体は19世紀から)
Dijkstra のGOTO論文
構造化革命の号砲。名言「テストはバグの不在を示せない」も同時代
Hoare の「10億ドルの過ち」
null参照の発明を公に悔やむ。現代の言語のnull安全機能の原動力に
Guido の BDFL 引退
ウォルラス演算子論争を機に独裁を退き、Pythonは評議会制へ
Rust Foundation 設立
AWS・Google・Microsoftらが創設。コミュニティ駆動ガバナンスの象徴
プログラミング言語は、無味乾燥な技術仕様の集まりではありません。それは、不満を抱き、理想を追い、ときに過ちを犯し、 そして互いに学び合った人間たちのドラマの結晶です。最終章では、この70年の歴史が向かう先—— メモリ安全、AI、WebAssemblyという現代の最前線と、プログラミング言語の未来を展望します。
理解度チェック
Pythonの創設者グイド・ヴァンロッサムが長年呼ばれ、2018年に引退した役割の呼称はどれですか?
キーボード: 1〜4 で選択、Enter で回答