Go
GoはGoogleで、シンプルで、速く、デプロイが簡単になるように設計されました。一つの自己完結したバイナリにコンパイルされ、ランタイムを入れなくてもサーバーにそのまま置けます。あえて凝った機能を省いており、それがコードベースをよい意味で退屈に保ちます — そして退屈さは、人間にとってもAIにとっても推論しやすいものです。
- 得意なこと: 速いバックエンドサービス、コマンドラインツール、ネットワーキング、大量の同時接続をさばく必要があるもの、シンプルなデプロイ。
- つらいところ: 冗長なエラー処理(
if err != nilをいたるところで目にします)。フロントエンド言語ではない。意図的なシンプルさは、表現力のある近道が欲しいときには窮屈に感じられることがある。 - 代表的なユースケース: API、マイクロサービス、CLI、インフラ用ツール、高トラフィックのバックエンド。
- AIの扱い: とても良い。Goの小さく一貫した機能セットは、たいていのことに「正しいやり方」が一つあることを意味し、アシスタントはそれにうまく従います。JS/Pythonより学習データは少ないものの、シンプルさがそれを補います。
個人開発者にとってのGoの決定的な強みは、あの単一バイナリです。「サーバーにNodeとこの40個のパッケージを入れる」というダンスもなく、自分のマシンと本番との間でランタイムのバージョンがずれることもありません。ビルドして、一つのファイルをコピーして、走らせる。それだけでデプロイは劇的にエラーが起きにくくなります — vibe codingをしていて、インフラのデバッグなどしたくないときには、これが大きな意味を持ちます。冗長さがその代償です。Pythonなら3行のコードが、Goでは8行になります。けれども、その余分な行は予測可能で、予測可能さこそAIがうまく扱うまさにそのものです。