AI・データ分析で使う言語
AIやデータ分析はPythonを軸に、データ抽出のSQLを必ずセットで見ます。
- Python
- SQL
- R
| 目的 | 見るポイント |
|---|---|
| 早く作る | 公式ドキュメント、サンプル、既存資産 |
| 長く保守する | 型、テスト、パッケージ管理、採用しやすさ |
| 学習する | 最初の成功体験、教材、開発環境 |
追加調査で押さえる実務ポイント
AI・データ分析で使う言語は、model学習、統計解析、data engineering、BI、production推論、GPU kernelで選択が変わります。最初の候補はPythonですが、SQL、R、Julia、Scala、C++、CUDAを役割別に組み合わせるのが一般的です。人気順ではなく、data量、library、deployment、team、latencyから次の言語ページを選びます。
目的別の入口
| 目的 | 主な言語 |
|---|---|
| machine learning | Python |
| 統計解析 | R |
| database集計 | SQL |
| numerical computing | Julia、MATLAB |
| data pipeline | Python、Scala |
| high-performance inference | C++、Rust |
| GPU kernel | CUDA C/C++ |
| browser visualization | JavaScript |
最初にPythonを選ぶ条件
- notebookで探索
- pandas/Polars
- scikit-learn
- PyTorch
- API化
- automation
- team memberが多い
Rを選ぶ条件
- 統計model
- publication-quality analysis
- domain package
- reproducible report
- analyst中心のteam
SQLを外さない
data warehouseやdatabaseから対象dataを絞る処理は、Pythonへ全件取得する前にSQLで行います。AI projectでもsource dataのdefinitionとqualityはSQL・schema管理が中心です。
productionで追加する言語
| 条件 | 追加候補 |
|---|---|
| low latency | C++ / Rust |
| JVM data platform | Scala / Java |
| GPU optimization | CUDA |
| browser inference | JavaScript / TypeScript |
| mobile | Kotlin / Swift |
選定手順
- input dataを決める。
- outputを決める。
- explorationかproductionか。
- library compatibility。
- compute environment。
- deployment先。
- monitoring。
- team skill。
- license。
- reproducibility。
注意
languageだけでAI platformは決まりません。model、framework、GPU driver、CUDA、data format、orchestrator、serving、monitoringのversionを一体で管理します。
次に読む
参考リンク
- www.python.org - Python
- www.r-project.org - R
- julialang.org - Julia
- pytorch.org - PyTorch