これまで私たちは「言語」そのものを見てきました。本章では視点を変え、その言語を作り、育て、統治してきた「人間」と「組織」に 光を当てます。天才的な個人設計者の哲学、彼らに贈られたチューリング賞、そして「誰が言語の未来を決めるのか」という ガバナンスの進化。最後は、言語史を彩る愉快な逸話と名言で、長い旅を一息つきましょう。

設計者たちと、その哲学

言語にはそれぞれ「親」がいます。そして親の哲学は、子(言語)の性格に色濃く反映されます。 計算機科学の最高栄誉チューリング賞の受賞者には、言語設計者が綺羅星のごとく並びます。

設計者言語設計哲学チューリング賞
John BackusFORTRAN科学技術計算の高水準化。後にBNFにも貢献1977
John McCarthyLISPλ計算に立脚。GC・再帰・コードとデータの同一視1971
Edsger Dijkstra(構造化)プログラムは正しく構成されるべき1972
Niklaus WirthPascal教育的明快さと規律1984
Dennis Ritchie / Ken ThompsonC / UNIX実用的・簡潔・移植性。プログラマを信頼1983
Barbara LiskovCLU抽象データ型、Liskov置換原則2008
Dahl & NygaardSimula現実をオブジェクトでモデル化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:#fff
言語ガバナンスの3モデル。個人独裁(BDFL)・コミュニティ駆動・企業主導。Pythonは2018年に独裁から評議会制へ移行した

BDFL — 慈悲深い終身独裁者

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企業主導。 豊富なリソースで強力に開発が進む反面、方向性は企業の戦略に左右されます。

標準化 — 言語に「公式仕様」を与える

もう一つの統治の形が、標準化機関による公式仕様の制定です。これにより、異なる企業が作ったコンパイラでも 同じ言語として互換性が保たれます。

言語標準機関・委員会備考
CC89/C90(ANSI X3.159-1989)ANSI → ISOK&R本(1978)が非公式標準、後にANSI公式化
C++C++98(ISO/IEC 14882:1998)ISO WG21現在もC++26などへ継続進化中
JavaScriptECMAScript(ECMA-262, 1997〜)Ecma TC39「JavaScript」は商標問題でECMAScriptに。Stage制で毎年更新
FORTRANFORTRAN 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という現代の最前線と、プログラミング言語の未来を展望します。

理解度チェック

問題 0 / 50%
Q1

Pythonの創設者グイド・ヴァンロッサムが長年呼ばれ、2018年に引退した役割の呼称はどれですか?

キーボード: 1〜4 で選択、Enter で回答