~/VibeHandbook
無料 PDF

10 · 05

その他の言語について手短に

これらにも出くわすことがあり、ときにはそのうちの一つがまさにうってつけです。

各言語が主にどこに住んでいるかを思い描くと役立ちます。ソフトウェアには層があります — ブラウザで動くもの(フロントエンド)、サーバーで動くもの(バックエンド)、スマホで動くもの(モバイル) — そしてほとんどの言語には縄張りがあります:

        ┌──────────────────── コードが動く場所 ────────────────────┐
        │                                                          │
   フロント               バックエンド            モバイル         │
   (ブラウザ)             (サーバー)              (スマホ)         │
        │                    │                      │              │
   ┌────┴────┐        ┌──────┴──────┐         ┌─────┴─────┐        │
   │ 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を書くのがとても得意なので、欲しいデータを平易な言葉で説明すれば、クエリを生成してくれることです。

オフラインでも読みたい?

本編まるごとを PDF または EPUB で無料ダウンロード。