詳述 · 13件の出来事
プログラミング言語の歴史
1950年代
John Backus 率いる IBM のチームが約3年の開発を経て、最初の本格的な高水準プログラミング言語 FORTRAN(FORmula TRANslator)の最初のコンパイラを IBM 704 向けに完成・出荷した。アセンブリ言語を直接書く時代から、数式を数式の形で書ける時代への移行点で、その後のすべての高水準言語の祖となる。
MIT の John McCarthy が AI 研究のために設計した、第二の高水準言語。S 式によるコードとデータの統一表現、再帰、リスト処理、ガベージコレクション、第一級関数 ── 後のプログラミング言語が再発見していくことになる概念の多くが、すでにここに揃っていた。Scheme、Common Lisp、Clojure、そして Haskell など関数型言語系譜の出発点。
米国国防総省主導の CODASYL 委員会が、事務処理向けの共通言語 COBOL(Common Business-Oriented Language)の最初の仕様をまとめた。委員の中心人物だった Grace Hopper のコンパイラ概念を継承しつつ、英語に近い構文と固定小数点演算で、金融・保険・行政システムの主流言語となる。仕様策定から65年以上経過した2026年現在も、銀行・年金・税務システムには依然として数百億行規模の COBOL コードが現役で走っている。
1970年代
Bell 研究所の Dennis Ritchie が、Ken Thompson の B 言語を発展させて型システムを導入した C 言語を設計。1973年に UNIX 自身が C で書き直されたことで、OS のソースを別のハードウェアに移植可能にした世界初の言語となった。1978年の K&R 本『The C Programming Language』とともに、過半世紀にわたるシステムプログラミングの事実上の標準となる。C++、Objective-C、C#、Go、Rust、Zig など、現在のシステム言語の多くは C の系譜から派生したか、C を意識して設計されている。
1980年代
Xerox PARC の Alan Kay・Dan Ingalls・Adele Goldberg らが開発した Smalltalk が、Smalltalk-80 として外部公開された。すべてがオブジェクトであり、メッセージ送信が唯一の操作という純粋なオブジェクト指向設計は、後の Objective-C、Ruby、Java、C# など主要言語のオブジェクトモデルに直接または間接に影響した。
Bell 研究所の Bjarne Stroustrup が、C 言語にオブジェクト指向(Simula 由来)を追加した C++ を商用公開した。性能を C と同等に保ちつつ抽象化を提供することを目標とし、ゲームエンジン、金融取引システム、組込み機器、ブラウザ実装など、低レイヤと高抽象の両方を要求される領域で広く採用された。
1990年代
オランダの CWI に在籍していた Guido van Rossum が、教育用言語 ABC への不満から設計した汎用言語。シンプルで読みやすい構文、ダックタイピング、豊富な標準ライブラリ、後に「Pythonic」と呼ばれる文化を持つ。2000年代に Web 開発(Django・Flask)、2010年代に科学計算とデータ科学(NumPy・SciPy・pandas)、そして 2010年代後半以降は機械学習(TensorFlow・PyTorch)の事実上の標準言語となった。
Sun Microsystems の James Gosling らが、家電組込み向けの「Oak」として始まった言語を Java と改名し、Web ブラウザ上で動作する Applet として正式公開した。「Write Once, Run Anywhere」のスローガンと JVM(Java 仮想マシン)による移植性は、企業システム開発の主流を一気に Java へと吸い寄せた。2010年の Oracle による Sun 買収で運営は移管されたが、Spring・Hadoop・Android(Java を派生)など、エコシステムは依然として巨大。
Netscape の Brendan Eich が、ブラウザ内で動く軽量スクリプト言語を10日で設計した。当初の名前は Mocha、次に LiveScript、最終的に Java の知名度に便乗する形で JavaScript と命名された。皮肉にも、Java とは設計思想がほぼ無関係。長く「玩具」扱いされたが、2009年の V8 エンジン、Node.js による server-side 進出、React/Vue/Angular による UI フレームワーク発展を経て、世界で最も広く書かれる言語の一つになった。
まつもとゆきひろ(Matz)が日本で設計した、純粋オブジェクト指向のスクリプト言語。Smalltalk 由来のオブジェクトモデルと Perl 由来の表現力を組み合わせ、「プログラマの幸福」を設計目標に掲げた。2004年に David Heinemeier Hansson が公開した Web フレームワーク Ruby on Rails が世界的成功を収め、その後の Web スタートアップ文化(GitHub、Twitter 初期、Airbnb 初期、Shopify 等)の標準ツールとなった。
2000年代
Robert Griesemer、Rob Pike、Ken Thompson(UNIX 作者)の3人が Google で設計したシステムプログラミング言語。C++ のビルド時間と複雑さへの不満を出発点に、ガベージコレクション、goroutine による軽量並行性、シンプルな構文を持つ。Docker、Kubernetes、Terraform、Prometheus など、2010年代のクラウドネイティブインフラの大半が Go で書かれた。
2010年代
Microsoft の Anders Hejlsberg(C# の主設計者)が率いるチームが、JavaScript に静的型システムを後付けする TypeScript を発表。JavaScript の上位互換として設計され、コンパイル結果は通常の JavaScript になる。2020年代に入り、大規模 Web フロントエンドの事実上の標準となり、React・Vue・Angular の主流ドキュメントが TypeScript 例示へと移行した。
Mozilla の Graydon Hoare が2010年頃から個人プロジェクトとして始め、Mozilla の後援で公開された言語。所有権(ownership)と借用(borrowing)の静的検査により、ガベージコレクション無しでメモリ安全性を保証する新しい設計が特徴。Stack Overflow の年次調査で「最も愛されている言語」に2016年から数年連続で選ばれ、Linux カーネルへの組込み採用(2022年)など、C/C++ の代替としての普及が進行中。