TL

Language Catalog

プログラミング言語の比較

目的に合う言語を、型付け、実行方式、得意分野から比較できます。各カードから詳細な特徴とコード例へ進めます。

Catalog Scope

20
Languages
1
Collection

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)やチャット基盤に向く。

項目PythonJavaScriptTypeScriptJavaC#GoRustC++CPHPRubySQLKotlinSwiftScalaRDartPerlHaskellElixir
登場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 エンジン)トランスパイル → JavaScriptJVM(バイトコード + 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/MLWeb フロントエンド大規模 Web アプリエンタープライズ・基幹システム業務アプリ・Web(ASP.NET)クラウドインフラ(Docker / Kubernetes)システム / 低レイヤゲームエンジンOS・カーネル・ドライバWeb サイト・CMS(WordPress)Web アプリ(Ruby on Rails)データの検索・集計・分析Android アプリ開発iOS / macOS アプリビッグデータ処理(Apache Spark)統計解析・研究モバイルアプリ(Flutter)ログ・テキスト処理研究・教育(関数型)リアルタイム Web(Phoenix / LiveView)