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

設計者たちと、その哲学

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

設計者 言語 設計哲学 チューリング賞
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:#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企業主導。 豊富なリソースで強力に開発が進む反面、方向性は企業の戦略に左右されます。

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

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

言語 標準 機関・委員会 備考
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という現代の最前線と、プログラミング言語の未来を展望します。

理解度チェック

問題 0 / 50%
Q1

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

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