プログラミング言語史 Fortran→Rust 1957-2026(プログラミング言語史)
Programming Language Evolution 1957-2026。Fortran (1957 IBM John Backus・Mathematical Formula Translation初高水準言語)・LISP (1958 John McCarthy MIT・AI/Functional)・COBOL (1959 Grace Hopper・Business)・ALGOL (1960 Algol-60→構造化Programming祖)・BASIC (1964 Dartmouth Kemeny+Kurtz)・Simula 67 (1967 OO初)・Pascal (1970 Niklaus Wirth ETH)・C (1972 Dennis Ritchie Bell Labs・Unix移植)・Smalltalk (1972 Alan Kay Xerox PARC・OO純粋)・Prolog (1972 Logic)・C++ (1983 Bjarne Stroustrup・OOP+C互換)・Ada (1983 米軍仕様)・Objective-C (1984 NeXT/Apple)・Perl (1987 Larry Wall)・Python (1991年2月20日 Guido van Rossum・スクリプト)・Visual Basic (1991 MS)・Ruby (1995 まつもとゆきひろ)・Java (1995年5月23日 James Gosling Sun・JVM)・JavaScript (1995年5月 Brendan Eich Netscape 10日間・ECMAScript)・PHP (1995 Rasmus Lerdorf)・C# (2000 Microsoft Anders Hejlsberg・.NET)・Scala (2003 Martin Odersky)・Go (2009 Google Rob Pike+Ken Thompson)・Rust (2010 Mozilla Graydon Hoare・Memory Safe)・Kotlin (2011 JetBrains)・Swift (2014 Apple Chris Lattner)・TypeScript (2012 MS Anders Hejlsberg)・Zig (2016 Andrew Kelley)・Mojo (2023 Modular Chris Lattner)・¥0 OSS Compiler GCC+LLVM Clang+MSVC・2026年Rust採用Linux Kernel+Android+Windows + Mojo AI/MLDSL台頭。
概要
1957年にIBMが発表したFortranは、数学的計算を高速に行うための高水準言語として登場し、以降の言語設計に多大な影響を与えた。以降、LISP、COBOL、ALGOL、BASIC、Simula、Pascal、C、Smalltalk、Prolog、C++、Ada、Objective‑C、Perl、Python、Visual Basic、Ruby、Java、JavaScript、PHP、C#、Scala、Go、Rust、Kotlin、Swift、TypeScript、Zig、Mojo といった言語が順次登場し、用途や設計哲学を拡張してきた。2025年から2026年にかけては、RustがLinuxカーネルに正式採用され、AndroidやWindowsでも利用が進むと同時に、MojoがAI/ML用DSLとして注目を集めている。これらの進化は、ハードウェア側の高性能CPUやGPUの登場と相まって、プログラムの実行効率と安全性を大幅に向上させている。
主な特徴・仕組み
- Fortran (1957)
- 1.0GHz 以上のクロックで実行可能な高性能計算を想定。
- 0.5 MB のストレージ容量で構文解析が完結。
- C (1972)
- 32-bit アドレス空間で、1.2 MB のバイナリを生成。
- 3.5 GHz のクロックで 10^9 命令/秒を達成。
- Rust (2010)
- 所有権モデルにより 0% のランタイムオーバーヘッド。
- 2025年に Linux カーネルに組み込まれ、1.0% のメモリ使用削減。
- Mojo (2023)
- JIT コンパイラで 5.0x の実行速度向上を実現。
- 2026年に AI/ML スタックに組み込まれ、TensorFlow への高速統合を実現。
- TypeScript (2012)
- 1.0x の型安全性を提供し、JavaScript へのコンパイルで 1.2 MB のバイナリ生成。
- Zig (2016)
- 1.3x のコンパイル速度向上と 0% のランタイム。
- Python (1991)
- 0.8x のスクリプト実行速度を持ち、1.0 MB のインタプリタを提供。
- Java (1995)
- JVM で 2.0x のクロスプラットフォーム実行を実現。
- Kotlin (2011)
- 1.1x のAndroidアプリ開発速度向上。
- Swift (2014)
- 1.2x のiOS アプリ実行速度と 0.5 MB のバイナリサイズ。
スペック比較表
| 言語 | 主な設計目的 | 実行モデル | 主要特徴 | 2025-2026年の採用状況 |
|---|---|---|---|---|
| Fortran | 数値計算 | コンパイル | 低レベル最適化 | 研究用途で継続 |
| Rust | システムレベル | コンパイル | 所有権安全 | Linuxカーネル、Android、Windows |
| Mojo | AI/ML DSL | JIT | 高速数値演算 | TensorFlow統合、2026年に主流へ |
具体例・対応製品
- RTX 5090 – 24 GB GDDR7、最大3.5 GHz クロック、TDP = 450 W。
- Ryzen 9 9950X3D – 16 コア・32 スレッド、3.2 GHz ベース、3.6 GHz ブースト、キャッシュ = 128 MB。
- Intel Xeon W‑3175X – 28 コア・56 スレッド、3.1 GHz ベース、3.8 GHz ブースト、64 MB キャッシュ。
- NVIDIA RTX A6000 – 48 GB GDDR6、TDP = 300 W、RTX 3090 の 2 倍性能。
- AMD EPYC 9654 – 96 コア・192 スレッド、3.0 GHz ベース、3.6 GHz ブースト、256 MB キャッシュ。
自作PCでの選び方・注意点
- CPUと言語の相性
- Rust や Mojo は 64‑bit アーキテクチャを前提とするため、AMD EPYC 9654 や Ryzen 9 9950X3D などの高コア数CPUが有利。
- Python や JavaScript はスレッド数よりもキャッシュヒット率が重要なので、DDR5‑6000 以上の高速メモリを推奨。
- GPUの選択
- RTX 5090 のような最新GPUは、Rust の Vulkan API との互換性が高く、CUDA もサポート。
- 2025年に登場した RTX 5090 は 1.5 TB の NVMe SSD との組み合わせで、データローディングを 2.5x 速くする。
- 電源と冷却
- TDP 450 W の RTX 5090 と 450 W の CPU を合わせると 900 W 以上必要。650 W の電源は不十分。
- 高性能CPUは 2.0 L の水冷クーラーを推奨。
- マザーボード
- PCIe 5.0 をサポートし、DDR5‑6000 以上の帯域を確保。
- 2026年に登場した「Ryzen 9 9950X3D」向けに「X570」または「TRX40」チップセットを選択。
関連用語との違い
- Fortran は数値計算専用で、構文は 1950 年代の手書きコードを踏襲。
- C は低レベル操作が可能だが、メモリ安全性は保証されない。
- Rust は所有権と借用チェックで安全性を実装し、C の速度を保つ。
- Mojo は AI/ML に特化した DSL で、Python より高速だが、一般用途は限定。
- TypeScript は JavaScript のスーパーセットで型安全を追加。
よくある質問(FAQ)
Q1. Rust と C++ の主な違いは何ですか?
A1. Rust は所有権モデルでコンパイル時にメモリ安全性を保証し、C++ はポインタ操作で柔軟だがバグの温床になる。Rust では 0% のランタイムオーバーヘッドで 1.0% のメモリ削減が可能。
Q2. 2025年以降に推奨される CPU はどれですか?
A2. 2025年に発表された Ryzen 9 9950X3D は 16 コア・32 スレッド、3.2 GHz ベースで 3.6 GHz ブースト、128 MB キャッシュを備え、Rust や Mojo の並列処理に最適。
Q3. 2026年に注目される AI/ML 用 DSL は何ですか?
A3. Mojo が 2026年に TensorFlow への統合を完了し、JIT コンパイラで 5.0x の速度向上を実現。Python との相性も高く、AI 開発者にとって必須。
まとめ
Fortran から始まったプログラミング言語の歴史は、計算機科学の進化と共に多様化してきた。2025年から2026年にかけては、Rust がシステムレベルで安全性と高速性を両立し、Mojo が AI/ML 分野で新たなスタンダードとなる。自作PCを構築する際は、CPU・GPU・メモリ・電源を言語の特性に合わせて選定し、将来のアップデートにも耐えうる構成を目指すことが重要である。