AIが得意なプログラミング言語・苦手なプログラミング言語
AIの構造・学習データ量・言語仕様の複雑さという観点からの分析
Note
これは「どれが良い/悪い」ではなく、AI にとっての難易度ランキングという位置づけです。
AI にとって書きやすい言語
- 文法がシンプル
- 動的型付けで推論しやすい
- 学習データが圧倒的に多い
- 自然言語に近い構文
- 動的型付け
- Web のコードが大量に存在
- 曖昧な書き方が多いが慣れている
- 動的型付け
- 歴史的にサンプルが膨大
- 文法が比較的素直
中間層:そこそこ書けるが難しさもある
4位:Java
- 静的型付けで構造が明確
- 学習データが多い
- ただし記述量が多く、AI には冗長
→ 正確に書けるが、生成コストが高い
5位:C#
- Java と似た理由
- .NET の API が巨大で分岐が多い
→ AI は書けるが、間違いも起きやすい
AI にとって書きにくい言語ゾーン
- 歴史的経緯で構文が多い
- Option Strict の有無で挙動が変わる
- 学習データが少ない
- 文法が複雑
- メモリ管理が絡む
- 書き方のバリエーションが膨大
- 所有権・借用の概念が難しい
- コンパイラが非常に厳しい
- 学習データが比較的少ない
最難関:Haskell / Lisp / Prolog
関数型・論理型など、構造が特殊 / 学習データが少ない / 人間でも難しい
→ AI にとっては“異文化圏の言語”
TypeScriptとAIの相性に関する考察
TypeScriptはランキングの中で言うと「AI にとっては“中の上〜上の下”くらい」に位置します。
つまりJavaScriptよりは難しいけど、JavaやC#よりは書きやすいという絶妙なポジション(5位〜6位あたり)。
1. JavaScriptベースなので学習データが多い
AIは大量のJavaScriptコードを学習しているから、TypeScriptも自然と得意になる。
- 文法はJSとほぼ同じ
- TS特有の構文も比較的シンプル
→ AIにとって理解しやすい
2. 型があることで推論が安定する
PythonやJSは動的型付けで自由度が高いけど、AIにとっては「推論ミス」が起きやすい。
TypeScriptは型があるおかげでAIがコードの意図を誤解しにくい。
- 関数の引数
- 戻り値
- オブジェクトの構造
これらが明示されるので、AIの精度が上がる。
1. 型システムが高度すぎる
TypeScriptの型はJavaやC#より複雑で、Pythonより難しい。
- Union types
- Intersection types
- Conditional types
- Mapped types
- Infer
- Variance
- Utility types
- 型レベルプログラミング
これらは人間でも難しい。AIにとっても「型の組み合わせ爆発」が起きやすい。
2. 実行時と型チェック時の世界が違う
TypeScriptは「実行時 → JavaScript」、「型チェック → TypeScriptコンパイラ」という二重構造。
AIはこの「二つの世界」を同時に考える必要があるので、ミスが起きやすい。
| 順位 | 言語 | 難易度 |
|---|---|---|
| 1 | Python | 最も書きやすい |
| 2 | JavaScript | 書きやすい |
| 3 | PHP | 書きやすい |
| 4 | Java | 普通 |
| 5 | TypeScript | 普通〜やや難しい |
| 6 | C# | やや難しい |
| 7 | VB / VB.NET | 難しい |
| 8 | C++ | かなり難しい |
| 9 | Rust | 最難関級 |
| 10 | Haskell / Lisp / Prolog | 異文化圏 |
結論
TypeScriptは「AIにとっては書きやすい部類だけど、型システムが高度すぎて油断するとミスる言語」というポジション。
もし興味があれば、以下の話も可能です:
- AIがTypeScriptで特に苦手な型
- AIがTypeScriptでよくやるミス
- AIにとって理想のTypeScriptコードの書き方