/note/tech

Claude Code に向いているプログラミング言語

要約:

■ 1. 概要

  • Claude Codeを用いて13〜15言語で「簡易git」を実装し生成時間とコストを比較した実験的調査
  • 著者はYusuke Endoh(遠藤祐介)氏
  • 動的型付け言語が静的型付け言語と比較して速く低コストであるという結果が得られた

■ 2. 実験方法

  • 使用モデル:
    • Claude Opus 4.6 (high effort)
  • タスク構成:
    • v1: init / add / commit / log の基本4機能を実装
    • v2: status / diff / checkout / reset の追加4機能を実装
  • 試行回数:
    • 各言語20回 × 2タスク × 15言語 = 計600回実行
  • 対象言語:
    • 動的型付け: Python / Ruby / JavaScript / Perl / Lua
    • 型検査付き動的言語: Python+mypy / Ruby+Steep
    • 静的型付け: TypeScript / Go / Rust / C / Java
    • 関数型: Scheme / OCaml / Haskell

■ 3. 実験結果

  • 上位3言語(最速・最安):
    • Ruby: 73.1秒 / $0.36
    • Python: 74.6秒 / $0.38
    • JavaScript: 81.1秒 / $0.39
  • 静的型付け言語の結果:
    • Go: $0.50
    • Java: $0.50
    • Rust: $0.54
    • 上位3言語と比較して1.4〜2.6倍の時間・コストを要した
    • 標準偏差も大きくばらつきが増加した
  • 最低パフォーマンス:
    • Ruby+Steep: 186.6秒 / $0.84 で最も遅く高コスト
  • テスト失敗数:
    • 600回中3回(Rust 2回 / Haskell 1回)のみ失敗
  • コード行数:
    • OCaml: 216行
    • Ruby: 219行
    • Haskell: 224行
    • 行数が少ない言語が必ずしも速く安いとは限らない(OCaml・Haskellは行数少ないが時間・コストは高め)

■ 4. 考察と結論

  • 速度・コスト差の要因:
    • 型システムの有無による制約の差
    • 言語ごとのコード簡潔性の差
    • 言語固有の複雑な仕様の影響
    • AIの学習データ量の差
  • 型システムとバグ防止:
    • 静的型付けでもテスト失敗は発生しており型システムが必ずしも失敗を防ぐわけではない
  • 著者の戦略提案:
    • 初期段階ではRuby / Python / JavaScriptの採用が向いている
    • 規模拡大時に静的型付け言語へ段階移行する戦略が現実的
    • AIエージェントは言語移植に強いため段階的な言語シフトが実現可能