LANG ATLAS / 17

OVERALL COMPARISON · 2026-09-01

同じ「言語」でも、保証している層が違う。

元のチャットは Nix対Rust、Rust対Java のように 1 対 1 だった。このサイトはその集合を一度に並べ、 「どれが強いか」ではなく 何をコンパイル時に証明し、何をランタイムに任せ、何を人間の規約に残すか で切る。 対象は汎用言語だけでなく、構成 DSL(Nix)と記号計算環境(Mathematica)を含む 17 個。

調査日 2026-09-01 17 技術 1v1 ではなく横断比較 Gemini 共有チャットを再調査して拡張

読み方。 Nix はパッケージと OS 構成の DSL であり、Rust や Java の代替ではない。LISP は単一処理系ではなく家族名。 TypeScript は実行時を持たない。Mathematica はプロプライエタリな知識カーネルである。 表の「現行」は 2026年9月1日時点の安定・主流であり、ベンチマーク数値は載せていない(環境依存が大きすぎるため)。

全体地図

17 個を用途と実行基盤で 6 群に分けた。隣接する群ほど問題領域が近い。対角線上(例: Lua と Mathematica、Go と Swift)はしばしば 1v1 にされるが、最適化目標が違う。

横断比較表

行をクリックすると、下の言語プロフィールへ飛ぶ。群で絞り、キーワードで検索できる。

軸で見る(全体)

ここが 1v1 との違い。各軸で 17 個の位置を一度に置く。

1. 正しさはどのフェーズで確定するか

言語を「速い/書きやすい」で並べると必ず例外が出る。横断で安定しているのは、 エラーと不変条件をいつ確定させるか である。

実務的な帰結: 大規模改修と並行バグを型で潰したいなら左寄り(Rust / Swift / Kotlin / C#)。 ホストへの組み込みと短い反復なら右寄り(Lua / JS / PHP)。Nix と Mathematica はこの軸の両端の外側にあり、汎用言語ランキングに入れない方が正確である。

2. メモリ: 誰が、いつ、解放するか

解放のタイミングは「速さ」より「尾部レイテンシとデバッグ」を決める。

2026年の動き: Java 25 LTS で世代別 ZGC がより現実的になり、JDK 26 は G1 の同期削減と AOT オブジェクトキャッシュを足した。 Python 3.14 の公式 free-thread は GC/GIL 設計の転換点だが、未対応 C 拡張は GIL を戻す。 Lua 5.5 はメジャー GC も増分にした。

3. 並行: スケジューラを誰が持つか

4. 型: 名前か、形か、実行時か

ジェネリクスも横断で分かれる。Rust / C++ / C# の値型は単相化(コード複製、ボクシングなし)。 Java / Kotlin(JVM) / TypeScript / Objective-C lightweight generics は型消去。 消去系は実行時に T を問えず、単相化系はバイナリが膨らむ。

5. 実行エンジン: いつ機械語になるか

6. コードをデータとして扱えるか

メタプログラミングの強さは、大規模安全性とトレードオフになることが多い。

7. 2026年に動いた線

元チャットの 1v1 は原理中心だった。こちらは調査日時点で追加した変化だけを短く置く。

言語プロフィール

表より一段深いメモ。1v1 の勝者表ではなく、その言語が引き受ける不変条件。

用途から選ぶ(全体)

「A より B」ではなく、問題の拘束条件から候補群を出す。

メモリとデータ競合を静的に閉じたい

第一候補は Rust。Swift はクライアントと値型。C++ は同等の制御だが証明は自分持ち。Java/Go は速さは出ても競合は型が拒否しない。

何年も動く巨大サーバ

Java(仮想スレッド、選択可能な GC、JFR、後方互換)。C# も近い層。Go は運用単純さと 1 バイナリ。Kotlin は JVM 資産を薄い構文で使う。

クラウド基盤・CLI

Go がこの集合の重心。Rust は性能と安全性が要るコンポーネント。Nix はアプリではなく、そのビルドと開発者環境を固定する。

Web リクエスト

PHP はプロセス境界で漏れを切る。Ruby は常駐+メタプロ(Rails)。JS/TS はイベントループ。Python はフレームワーク資産。Kotlin/Java/C# は長寿 JVM/.NET。

ブラウザと大規模 JS

実行は JavaScript。型と改修は TypeScript。C# の公称型や具象化ジェネリクスはここには来ない。

Apple クライアント

新規は Swift。既存とランタイムハックは Objective-C。C++ はゲームエンジン核。.mm で両者を混ぜられる。

ホストに埋め込む

Lua がこの 17 個の中で最も意図が明確。フットプリントと C API のため。Python は埋め込み可能だが核が大きい。

データ・科学・記号

数値と ML の生態系は Python。厳密な記号変形と内蔵アルゴリズムは Mathematica。言語を問題に合わせて伸ばすなら LISP 族。

再現可能なビルド

Nix(および flakes)。他言語の代替ではなく、Rust の crane や Java の固定ツールチェーンのように直交する層。

Android / 共有モバイル

Kotlin(公式推奨、KMP)。Java はまだ基盤。Swift は Apple 側。Rust は共有核のネイティブライブラリとして使われる。

出典と限界

元にした会話は Gemini 共有(Nix–Rust, Rust–Java, Ruby–PHP, C++–Objective-C, JS–Python, TS–C#, Java の優位, Go–Swift, Kotlin–LISP, Lua–Mathematica)。 再調査で公式リリースノートを優先した: Python 3.14.7 / What’s New in 3.14(PEP 779)、 OpenJDK JDK 26、 Rust 1.98.0 blog(2026-08-20)、 Go 1.27 release notes、 PHP 8.5 announcement、 Lua 5.5.1 versions ページ、 Microsoft Learn「What’s new in C# 14」。 Ruby 4.0 / Kotlin 2.4 / Swift 6 / C++26 / TypeScript ネイティブコンパイラは、公式と二次情報を併用しており、処理系のマイナー版は週単位で進む。

含めていないもの: 合成ベンチマーク、給与、人気投票の順位(調査時点で揺れ、この 17 個の設計差を説明しない)。 LISP と「Java が優れている点」は家族・プラットフォームの話であり、単一処理系の行と列の粒度が他と揃わない。表ではその旨を区分に書いた。