Language Catalog
プログラミング言語の比較
Catalog Scope
Collection 01
主要なプログラミング言語(20)
Python
1991年 / 動的・強い型付け
読みやすさを最優先した汎用言語。データ分析・AI/機械学習・自動化・Webバックエンドまで幅広く、いま最も人気のある言語のひとつ。
JavaScript
1995年 / 動的・弱い型付け
ブラウザ上で動く唯一の言語。Node.js でサーバ側でも動き、Web 開発の中心。どこでも動く反面、弱い型付けの落とし穴も多い。
TypeScript
2012年 / 静的・強い型付け(JS のスーパーセット)
JavaScript に静的な型を足した言語。JS の資産をそのまま使え、大規模開発の事実上の標準。型が消えて実行されるのは JS。
Java
1995年 / 静的・強い型付け
“Write Once, Run Anywhere” の JVM 言語。成熟・安定し、エンタープライズの基幹システムや(従来の)Android で根強い。
C#
2000年 / 静的・強い型付け
Microsoft の .NET 言語。言語機能が豊富で書きやすく、業務アプリ・Web バックエンド・ゲーム(Unity)まで幅広い。
Go
2009年 / 静的・強い型付け
シンプルさと並行処理を重視した Google 製言語。学習しやすく高速起動で、クラウドインフラやマイクロサービスで人気。
Rust
2010年(1.0 は 2015年) / 静的・強い型付け
所有権モデルで「メモリ安全」と「高速」を GC なしで両立するシステム言語。学習は難しいが安全性と性能が要る基盤で評価が高い。
C++
1985年 / 静的・強い型付け
C を拡張した高性能システム言語。ハードを細かく制御でき、ゲームエンジン・組込み・科学計算・高頻度処理で現役。
C
1972年 / 静的・弱い型付け
OS やドライバ、組込みの土台を作る低レベル言語。ハードウェアに近く高速で、ほぼすべての言語や OS の基礎になっている。
PHP
1995年 / 動的・弱い型付け(近年は型宣言が拡充)
Web に特化して生まれたサーバサイド言語。WordPress や多くの Web サービスを支え、レンタルサーバで手軽に動く。PHP 8 で性能・型が大幅に改善した。
Ruby
1995年 / 動的・強い型付け
「書いて楽しい」を重視した日本生まれのオブジェクト指向言語。Ruby on Rails により Web 開発で一世を風靡し、今もスタートアップで人気。
SQL
1974年 / —(宣言型クエリ言語)
リレーショナル DB を操作する宣言型のクエリ言語。「どう取るか」ではなく「何が欲しいか」を書く。DB を扱うなら言語を問わず必須の共通スキル。
Kotlin
2011年 / 静的・強い型付け(null 安全)
JetBrains が作った JVM 言語。Java と完全互換ながら簡潔で安全に書け、Google が Android 開発の第一言語に推奨する現代 Android の標準。
Swift
2014年 / 静的・強い型付け(Optional)
Apple が Objective-C の後継として作ったモダン言語。安全・高速で書きやすく、iOS/macOS アプリ開発の標準。サーバサイドでも使える。
Scala
2004年 / 静的・強い型付け(強力な型推論)
JVM 上で関数型とオブジェクト指向を高い水準で融合した言語。型システムが強力で、大規模データ処理(Apache Spark)やバックエンドで使われる。
R
1993年 / 動的・弱い型付け
統計解析とデータ可視化に特化した言語・環境。豊富な統計パッケージ(CRAN)と作図機能を持ち、研究・データ分析で広く使われる。
Dart
2011年 / 静的・強い型付け(null 安全)
Google 製のクライアント最適化言語。Flutter の言語として、1 つのコードから iOS/Android/Web/デスクトップ アプリを作れる。
Perl
1987年 / 動的・弱い型付け
テキスト処理と正規表現に強い老舗スクリプト言語。かつて CGI や運用スクリプトの定番で、「インターネットの接着剤」と呼ばれた。
Haskell
1990年 / 静的・強い型付け(型推論・純粋)
純粋関数型のパイオニア的言語。副作用を型で管理し、遅延評価と強力な型システムを持つ。学術・研究や、堅牢さが要る領域で評価される。
Elixir
2011年 / 動的・強い型付け
Erlang VM(BEAM)上で動く関数型言語。軽量プロセスによる大量の並行処理と耐障害性が強みで、リアルタイム Web(Phoenix)やチャット基盤に向く。
| 項目 | Python | JavaScript | TypeScript | Java | C# | Go | Rust | C++ | C | PHP | Ruby | SQL | Kotlin | Swift | Scala | R | Dart | Perl | Haskell | Elixir |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 登場 | 1991年 | 1995年 | 2012年 | 1995年 | 2000年 | 2009年 | 2010年(1.0 は 2015年) | 1985年 | 1972年 | 1995年 | 1995年 | 1974年 | 2011年 | 2014年 | 2004年 | 1993年 | 2011年 | 1987年 | 1990年 | 2011年 |
| 型付け | 動的・強い型付け | 動的・弱い型付け | 静的・強い型付け(JS のスーパーセット) | 静的・強い型付け | 静的・強い型付け | 静的・強い型付け | 静的・強い型付け | 静的・強い型付け | 静的・弱い型付け | 動的・弱い型付け(近年は型宣言が拡充) | 動的・強い型付け | —(宣言型クエリ言語) | 静的・強い型付け(null 安全) | 静的・強い型付け(Optional) | 静的・強い型付け(強力な型推論) | 動的・弱い型付け | 静的・強い型付け(null 安全) | 動的・弱い型付け | 静的・強い型付け(型推論・純粋) | 動的・強い型付け |
| 実行方式 | インタプリタ(CPython) | インタプリタ(JIT エンジン) | トランスパイル → JavaScript | JVM(バイトコード + JIT) | .NET(JIT / AOT) | コンパイル(ネイティブ・単一バイナリ) | コンパイル(ネイティブ) | コンパイル(ネイティブ) | コンパイル(ネイティブ) | インタプリタ(Zend Engine) | インタプリタ(YARV) | DB エンジンが解釈・最適化 | JVM(+ Native / JS) | コンパイル(ネイティブ・LLVM) | JVM(+ Scala.js / Native) | インタプリタ | AOT / JIT コンパイル(+ JS) | インタプリタ | コンパイル(GHC) | BEAM(Erlang VM) |
| 一番の強み | 構文が読みやすく学習しやすい | ブラウザ標準・どこでも動く | 型で安全・エディタ補完が強力 | 成熟・安定・巨大なエコシステム | 言語機能が豊富で生産性が高い | 文法が小さく学習が容易 | GC なしでメモリ安全(所有権・借用) | 最高クラスの実行性能・ハード制御 | ハードを直接制御でき非常に高速 | Web に特化し導入が手軽(レンタルサーバ) | 人間中心で書きやすく表現力が高い | 宣言的で簡潔にデータを操作できる | Java と完全相互運用で移行が容易 | 安全(Optional)で高速・書きやすい | 関数型 + OOP を高い水準で融合 | 統計・データ分析に特化 | Flutter で iOS/Android/Web/Desktop を一括 | 正規表現・テキスト処理が強力 | 純粋関数型で副作用を型で制御 | 軽量プロセスで桁違いの並行性 |
| 主な用途 | データ分析・AI/ML | Web フロントエンド | 大規模 Web アプリ | エンタープライズ・基幹システム | 業務アプリ・Web(ASP.NET) | クラウドインフラ(Docker / Kubernetes) | システム / 低レイヤ | ゲームエンジン | OS・カーネル・ドライバ | Web サイト・CMS(WordPress) | Web アプリ(Ruby on Rails) | データの検索・集計・分析 | Android アプリ開発 | iOS / macOS アプリ | ビッグデータ処理(Apache Spark) | 統計解析・研究 | モバイルアプリ(Flutter) | ログ・テキスト処理 | 研究・教育(関数型) | リアルタイム Web(Phoenix / LiveView) |