その他の言語について手短に
これらにも出くわすことがあり、ときにはそのうちの一つがまさにうってつけです。
各言語が主にどこに住んでいるかを思い描くと役立ちます。ソフトウェアには層があります — ブラウザで動くもの(フロントエンド)、サーバーで動くもの(バックエンド)、スマホで動くもの(モバイル) — そしてほとんどの言語には縄張りがあります:
┌──────────────────── コードが動く場所 ────────────────────┐
│ │
フロント バックエンド モバイル │
(ブラウザ) (サーバー) (スマホ) │
│ │ │ │
┌────┴────┐ ┌──────┴──────┐ ┌─────┴─────┐ │
│ JS / TS │ │ JS / TS │ │ Swift │ iOS │
│ 唯一の │ │ Python │ │ Kotlin │ Android│
│ 現実的 │ │ Go │ │ JS / TS │ (React │
│ 選択肢 │ │ Rust │ │ │ Native)│
│ │ │ Java / C# │ └───────────┘ │
└─────────┘ │ PHP / Ruby │ │
└──────┬──────┘ │
│ │
┌────┴────┐ │
│ SQL │ ◀── データベース。上の │
│(database)│ どの backend からも利用 │
└─────────┘ │
└──────────────────────────────────────────────────────────┘
- Java / C#: 大企業の働き者。成熟し、安定し、ツールが充実しており、大規模な企業向けバックエンドや、Android(Java/Kotlin)、Windows/.NETエコシステム(C#)に理想的です。AIはどちらもうまく扱います。個人のvibeコーダーとしては、既存の企業スタックの中で作業するか、Android/Windows向けに特化して作るのでない限り、これらが必要になることはめったにありません。
- Swift / Kotlin: iOS(Swift)とAndroid(Kotlin)アプリのネイティブ言語。本物のモバイルアプリをApp StoreやPlay Storeに出荷するなら、これらに触れることになるでしょう。AIのサポートはしっかりしていますが、Web言語ほどではなく、モバイル開発には余分な摩擦(端末、アプリストアの規約、ビルドツール)が伴います。
- PHP / Ruby: Webの古参であり、いまも静かにWebの巨大な一画を動かしています。PHPはWordPressを動かし、それゆえ全Webサイトの大きな割合を支えています。Ruby on Railsは、データベースを背後に持つアプリを速く、意見の強いやり方で作る手段として残っています。どちらも学習データが豊富なのでAIはうまく扱います — けれども今日、初心者が真っ先に手を伸ばすことはまれで、たいていは新規に始めるよりも既存のコードベースの中で作業するために選ぶことになります。
- (Structured Query Language): 汎用言語ではありませんが、アプリがデータを保存した瞬間に出会います。データベースに質問を投げかける言語だと考えてください — 「今週登録したユーザーを全員見せて」のように。SQLはデータベースに問い合わせます。SQLは他の言語の代わりに選ぶものではありません — 何を選んでも、その隣に共存します。よい知らせは、AIはSQLを書くのがとても得意なので、欲しいデータを平易な言葉で説明すれば、クエリを生成してくれることです。