Claude Code(Opus 4.6)にいろいろな言語で「簡易 git」を20回ずつ作らせて、かかった時間やコストを計測。15言語×2 タスク×20回 = 600回の試行。最速・最安・最安定という観点ではRuby、Python、JavaScript がトップ3。面白い実験。
動的型付け言語がまた復権したりして(笑)
面白い。定量的に語られている。複合的な要因かつ数日後には状況が変わりえるんだろうけども傾向はわかる。
"題材の規模が小さすぎる。型システムは規模が大きくなったときに効くはずだ。"実際でかいプロジェクトだとテストもビルドエラーも頻繁に出るのが体感としてあるのでこのあたり気になる。
学習量の差で言うならJavaやTypeScriptが右側によってるの変な気がするんだよな。
このお題だと、標準ライブラリが強力(Batteries Included)なPython/Rubyが強い傾向はありそう。 / sh実行してテストするまでならビルド時間込みか。それなら言語間の差はもう少し少なくなる?
興味深い観点
これAIの学習量の多い上位勢は単に行数に比例してるだけでは…さすがにこれを見て動的型付けがいいとはならないよ
興味深い実験。実際近年の静的型付け言語の流行はコード品質向上以上に「IDEの補完が効く」というのが大きかったように思う。Claude Codeはエディタの補完を必要としないので静的型も必要としない。
体感的には静的型付け言語の方が、安定したプログラムを出力する
業務アプリが作りたいって聞いたら型安全性による制約が固められる言語がいいですねって言って TypeScript (Hono, Drizzle, Zod, Better Auth, React) をすすめられたよ。
面白い。規模による品質比較とかも面白そう。 /半年後にはまた違う結果かもしれない
めちゃくちゃいい
結構ばらつくのね
実装スピードがボトルネックじゃないからこの比較は無意味。大規模化・複雑化したときに崩壊しないことが重要だと思う。
ハブられるPHP
興味深いけどLOC 500程度だとまともな比較にならないような
おもしろい〜!
人間が書く時もpythonは素早く書けるけどAIもそうなのかな?ただ、本当に動的型付けが速さに貢献してるかどうかを定量的に測るのは難しそう。
非常に興味深い結果。Rust / Go / Python / TS を日常的にagentic codingしている身としては「Rust / GoはPyhton / TSと比べて完成が遅いし、型があるから安心ということも全くないな」というのは実感として理解はできます。
おもしろい/PHPがはぶられているのと素の状態のCLAUDEだとどんな感じか気になるから後で手元で試してみよ/コード公開ありがたい
さすがmametter氏、検証がガチすぎる。AIには動的言語の方が「コスパ良い」ってのは直感的にも納得感ある結果
“はじめに -- 「AIのバグを防ぐため、型システムは重要!」「いや、型注釈がないほうがトークン数が少なくて済む!」定性的な議論は見かけるんですが、定量的な話を見ないので、実験してみました。”
とりあえずweb app作らせるとpythonで書きたがるくせに、rubyの方が安いんかい〜
ポール・グレアムのハッカーと画家の中で、昔から動的 vs 静的言語との対比でよく言われてたのが、人間が書きたいようにコードを書ける(動的)言語とコンパイラのために人間が仕事する(静的)言語って認識だからね
すごい PythonよりRubyが少ないのは英文に近いからかな C#とDartはJavaと同じくらいなんだろうなあ
Verilogは全然や。同時に動くのは全然。
少ない文字で情報を表すことができるのでまあまあ納得度はある
型のシンタックスのぶんトークン数が増えるので料金は上がるし、もしかしたらそのぶんコンパクションの頻度も上がってるかも。とはいえ自分には、型は自分が成果物に責任を持つために必要かなあ
生成AIはコンパイラではなく、人間が書いたコードベースを学習してるから、人間の認識に近い判断になるのかな。面白い。
AIの思考コストはおそらく、人間の思考コストと取れる見方もできる可能性はある。Ruby, Python, JacaScriptが思考コストが低くて、低レイヤ触れる言語は思考コストが高いというのはなんとなくわかるな
正直、どの言語でも人間が意思決定するより余裕で速いわけで、そうなるとサーバーコスト減に効きそうなRust, goに優位性があるんではと思ったり
私はRuby絶滅危惧論者なので興味深い。高速に開発できても実行時の遅さはどうにもならないから、Rubyを選択する価値はもう無いと思うんだよね。
HDLも入れてくれよ
静的型が重要かを測るのに一発書きのスクリプト書かせて計測しようとしてるのはどうなの。その程度の規模のコードしか必要ないと言うなら別だが。
“動的型付けの言語のほうが安定して速く生成できる傾向は確実にある”
ビルドの時間含んでこの生成時間ならRustやJavaってめっちゃ優秀じゃねって思った
「初期は動的型付けでスピーディーに開発し、仕様が固まって規模が大きくなったら静的型付けに移行する、というのはやはり正しい戦略なのかもしれません。」 かもしれない。
ハブられるC++
Claude Codeさん、ボクはPythonにゃ!楽ちんで楽しいにゃ!
Claude Codeに13言語で簡易gitを実装(各20回、v1+v2)。Ruby/Python/JavaScriptが最速最安で40/40成功(73〜81秒、$0.36〜0.39)。静的型付けは1.4〜2.6倍遅く高コスト傾向。ルールは題材やAI習熟度など複合要因の可能性も言及。
"簡易 git を実装させたところ、Ruby・Python・JavaScript が最速・最安・最安定でした。静的型付けの言語は 1.4〜2.6 倍遅く、生成コストがかかる傾向がありました。" TypeScriptは下から数えた方が速いんかーい!
感覚としては言語よりフレームワークを選ぶようになるんじゃないかと思っているけど、この実験は面白い
コード量が 300行 ってそんな少量だと現実の仕事での参考にならないような。定量的な評価は難しいけどコードの品質が大規模化に耐えられるのかも無いんじゃ使い捨てアプリを作るの早いのはそりゃスクリプト言語という
今のAIにとって5万行くらいまでは書き捨てできるレベルのコードなのでそれをこえるまではRubyやPython、Javascriptで良くてTypeScriptである必要すらないというかむしろ有害、/simplify がなぜ先日実装されたか理解すべきだよね
PHPも入れてあげて、そして誰も試してくれないVBA
学習可能なコード量の差だと思う。Haskellの可能性を信じてるけど仕事ではなぁ。
おお、すごい
直感的にはそうなんだけど、どうだろね “題材の規模が小さすぎる。型システムは規模が大きくなったときに効くはずだ。”
環境構築 軽い順 って感じ。
興味深い。静的型ではなく型注釈の有無として見るならばRubyとほぼ同等の簡潔さで書けるCrystalはどうなるのだろうか。学習量が圧倒的少ないだろうからそのぶん不利ではありそうな気はするけれども。
実はAIがすべてのコードを書く時代になったら「静的型は不要」となったりするのかも。一度動くものができたら、それを他の言語に書き直すのもAIが自動的にやってくれそう。
もっとふわっとした要件定義でとりあえず作らせてみてから怒濤の後出しダメ出しを経て最終的にAIが倒れるとかやらんのか?
そういえば前にどこかで(RubyKaigiだっけ?)まつもとさんが「AI時代は動的型付け言語の方が向いてる可能性がある」みたいなこと言ってたっけ / “Ruby・Python・JavaScript が最速・最安・最安定でした”
300行程度のgitもどきでは短すぎかつ簡単すぎて、AIの向き不向きでなく短く書ける言語かの比較をしてるように見える。大規模だと大変なのは分かるけど意味のないものを測っても仕方ないし、もっと現実的な課題が必要
Pythonの環境ちょっと変えるだけで動かなくなる度合いを考えると向いてるの基準がな〜と思ってしまう
出来たコード見ると分ると全部手続き処理(haskellでさえ)で書かれてるな。この程度だと抽象化が邪魔で型付けの恩恵が弱いか / java https://github.com/mame/ai-coding-lang-bench/blob/data/generated/minigit-java-1-v1/MiniGit.java (オフショアぽいw)
型がないとデストラクタ書けない。短時間だけ実行されるプログラムなら使いっぱなしでもいいんだけど。まあ型があってもデストラクタ当てにならない言語の方が多いけど…
型の有無じゃないか?
記事のアイコンはSwift🏎️
レイトレあたりで比較したらまた違う傾向があったりしそう。さておき、コード生成自体の時間より、生成されたコードの品質に問題がないと判断するためのコストを最小化したいのよね。
“型エラーはバグの中では検出やデバッグしやすい" "型検査なしで型エラーを頻繁に混入させるようなエージェントだとしたら、もっと発見しにくいロジックのバグも同程度に書いているはずで、型検査の有無以前の問題"
「13 言語で簡易 git を実装させたところ、Ruby・Python・JavaScript が最速・最安・最安定でした。静的型付けの言語は 1.4〜2.6 倍遅く、生成コストがかかる傾向」「生成されたコードを全部分析したわけでもありません」
型ありのほうが遅くなってるように見えるのが興味深い。コーディングエージェントの比較にも使えそう
RubyとRBSの組み合わせはどうなるんだろ?
AIの精度が上がった理由が学習データを増やしたことだから、学習データが多そうな言語がいい評価になるのは納得感ある pyhtonはゴミデータも多そうだと思ったけど学習を工夫してるのかな
実験からもブコメからも、これまで言語が多様だった理由があったように、AI Codingでも変わらず多様であり続けそうで面白いですね。
予想してた方向に動いてるかもしれんなあこれは。静的型付けが必要な規模ならそもそもコンパイル言語を使うべきではないかとは思ってた。スクリプト言語は手軽さが命だと思うんだよなあ
仕事で使うのであればメンテナンスのし易さが最も重要
あとでScalaでも実験してみます。ところで静的型の場合でも型推論が効くならそもそも型を省略できるところが多いので、トークン数消費はそんなに増えないのではという気もします。
習熟度は確かにありそう。type checkerの安全性はLLMにとっても有益かと思ったがそうでもないんかな。
アタッカーなら早い安い方で。ディフェンダーならなるべく静的な得意言語か設計で。
Sonnetでやったらどうなるんだろ
どちらかというと Go は AI 向きだと言い続けてきたけど、こうやって可視化されたのは良い。
OCaml いいな。
Perlがあるとほっこりする
Claude Code に向いているプログラミング言語
Claude Code(Opus 4.6)にいろいろな言語で「簡易 git」を20回ずつ作らせて、かかった時間やコストを計測。15言語×2 タスク×20回 = 600回の試行。最速・最安・最安定という観点ではRuby、Python、JavaScript がトップ3。面白い実験。
動的型付け言語がまた復権したりして(笑)
面白い。定量的に語られている。複合的な要因かつ数日後には状況が変わりえるんだろうけども傾向はわかる。
"題材の規模が小さすぎる。型システムは規模が大きくなったときに効くはずだ。"実際でかいプロジェクトだとテストもビルドエラーも頻繁に出るのが体感としてあるのでこのあたり気になる。
学習量の差で言うならJavaやTypeScriptが右側によってるの変な気がするんだよな。
このお題だと、標準ライブラリが強力(Batteries Included)なPython/Rubyが強い傾向はありそう。 / sh実行してテストするまでならビルド時間込みか。それなら言語間の差はもう少し少なくなる?
興味深い観点
これAIの学習量の多い上位勢は単に行数に比例してるだけでは…さすがにこれを見て動的型付けがいいとはならないよ
興味深い実験。実際近年の静的型付け言語の流行はコード品質向上以上に「IDEの補完が効く」というのが大きかったように思う。Claude Codeはエディタの補完を必要としないので静的型も必要としない。
体感的には静的型付け言語の方が、安定したプログラムを出力する
業務アプリが作りたいって聞いたら型安全性による制約が固められる言語がいいですねって言って TypeScript (Hono, Drizzle, Zod, Better Auth, React) をすすめられたよ。
面白い。規模による品質比較とかも面白そう。 /半年後にはまた違う結果かもしれない
めちゃくちゃいい
結構ばらつくのね
実装スピードがボトルネックじゃないからこの比較は無意味。大規模化・複雑化したときに崩壊しないことが重要だと思う。
ハブられるPHP
興味深いけどLOC 500程度だとまともな比較にならないような
おもしろい〜!
人間が書く時もpythonは素早く書けるけどAIもそうなのかな?ただ、本当に動的型付けが速さに貢献してるかどうかを定量的に測るのは難しそう。
非常に興味深い結果。Rust / Go / Python / TS を日常的にagentic codingしている身としては「Rust / GoはPyhton / TSと比べて完成が遅いし、型があるから安心ということも全くないな」というのは実感として理解はできます。
おもしろい/PHPがはぶられているのと素の状態のCLAUDEだとどんな感じか気になるから後で手元で試してみよ/コード公開ありがたい
さすがmametter氏、検証がガチすぎる。AIには動的言語の方が「コスパ良い」ってのは直感的にも納得感ある結果
“はじめに -- 「AIのバグを防ぐため、型システムは重要!」「いや、型注釈がないほうがトークン数が少なくて済む!」定性的な議論は見かけるんですが、定量的な話を見ないので、実験してみました。”
とりあえずweb app作らせるとpythonで書きたがるくせに、rubyの方が安いんかい〜
ポール・グレアムのハッカーと画家の中で、昔から動的 vs 静的言語との対比でよく言われてたのが、人間が書きたいようにコードを書ける(動的)言語とコンパイラのために人間が仕事する(静的)言語って認識だからね
すごい PythonよりRubyが少ないのは英文に近いからかな C#とDartはJavaと同じくらいなんだろうなあ
Verilogは全然や。同時に動くのは全然。
少ない文字で情報を表すことができるのでまあまあ納得度はある
型のシンタックスのぶんトークン数が増えるので料金は上がるし、もしかしたらそのぶんコンパクションの頻度も上がってるかも。とはいえ自分には、型は自分が成果物に責任を持つために必要かなあ
生成AIはコンパイラではなく、人間が書いたコードベースを学習してるから、人間の認識に近い判断になるのかな。面白い。
AIの思考コストはおそらく、人間の思考コストと取れる見方もできる可能性はある。Ruby, Python, JacaScriptが思考コストが低くて、低レイヤ触れる言語は思考コストが高いというのはなんとなくわかるな
正直、どの言語でも人間が意思決定するより余裕で速いわけで、そうなるとサーバーコスト減に効きそうなRust, goに優位性があるんではと思ったり
私はRuby絶滅危惧論者なので興味深い。高速に開発できても実行時の遅さはどうにもならないから、Rubyを選択する価値はもう無いと思うんだよね。
HDLも入れてくれよ
静的型が重要かを測るのに一発書きのスクリプト書かせて計測しようとしてるのはどうなの。その程度の規模のコードしか必要ないと言うなら別だが。
“動的型付けの言語のほうが安定して速く生成できる傾向は確実にある”
ビルドの時間含んでこの生成時間ならRustやJavaってめっちゃ優秀じゃねって思った
「初期は動的型付けでスピーディーに開発し、仕様が固まって規模が大きくなったら静的型付けに移行する、というのはやはり正しい戦略なのかもしれません。」 かもしれない。
ハブられるC++
Claude Codeさん、ボクはPythonにゃ!楽ちんで楽しいにゃ!
Claude Codeに13言語で簡易gitを実装(各20回、v1+v2)。Ruby/Python/JavaScriptが最速最安で40/40成功(73〜81秒、$0.36〜0.39)。静的型付けは1.4〜2.6倍遅く高コスト傾向。ルールは題材やAI習熟度など複合要因の可能性も言及。
"簡易 git を実装させたところ、Ruby・Python・JavaScript が最速・最安・最安定でした。静的型付けの言語は 1.4〜2.6 倍遅く、生成コストがかかる傾向がありました。" TypeScriptは下から数えた方が速いんかーい!
感覚としては言語よりフレームワークを選ぶようになるんじゃないかと思っているけど、この実験は面白い
コード量が 300行 ってそんな少量だと現実の仕事での参考にならないような。定量的な評価は難しいけどコードの品質が大規模化に耐えられるのかも無いんじゃ使い捨てアプリを作るの早いのはそりゃスクリプト言語という
今のAIにとって5万行くらいまでは書き捨てできるレベルのコードなのでそれをこえるまではRubyやPython、Javascriptで良くてTypeScriptである必要すらないというかむしろ有害、/simplify がなぜ先日実装されたか理解すべきだよね
PHPも入れてあげて、そして誰も試してくれないVBA
学習可能なコード量の差だと思う。Haskellの可能性を信じてるけど仕事ではなぁ。
おお、すごい
直感的にはそうなんだけど、どうだろね “題材の規模が小さすぎる。型システムは規模が大きくなったときに効くはずだ。”
環境構築 軽い順 って感じ。
興味深い。静的型ではなく型注釈の有無として見るならばRubyとほぼ同等の簡潔さで書けるCrystalはどうなるのだろうか。学習量が圧倒的少ないだろうからそのぶん不利ではありそうな気はするけれども。
実はAIがすべてのコードを書く時代になったら「静的型は不要」となったりするのかも。一度動くものができたら、それを他の言語に書き直すのもAIが自動的にやってくれそう。
もっとふわっとした要件定義でとりあえず作らせてみてから怒濤の後出しダメ出しを経て最終的にAIが倒れるとかやらんのか?
そういえば前にどこかで(RubyKaigiだっけ?)まつもとさんが「AI時代は動的型付け言語の方が向いてる可能性がある」みたいなこと言ってたっけ / “Ruby・Python・JavaScript が最速・最安・最安定でした”
300行程度のgitもどきでは短すぎかつ簡単すぎて、AIの向き不向きでなく短く書ける言語かの比較をしてるように見える。大規模だと大変なのは分かるけど意味のないものを測っても仕方ないし、もっと現実的な課題が必要
Pythonの環境ちょっと変えるだけで動かなくなる度合いを考えると向いてるの基準がな〜と思ってしまう
出来たコード見ると分ると全部手続き処理(haskellでさえ)で書かれてるな。この程度だと抽象化が邪魔で型付けの恩恵が弱いか / java https://github.com/mame/ai-coding-lang-bench/blob/data/generated/minigit-java-1-v1/MiniGit.java (オフショアぽいw)
型がないとデストラクタ書けない。短時間だけ実行されるプログラムなら使いっぱなしでもいいんだけど。まあ型があってもデストラクタ当てにならない言語の方が多いけど…
型の有無じゃないか?
記事のアイコンはSwift🏎️
レイトレあたりで比較したらまた違う傾向があったりしそう。さておき、コード生成自体の時間より、生成されたコードの品質に問題がないと判断するためのコストを最小化したいのよね。
“型エラーはバグの中では検出やデバッグしやすい" "型検査なしで型エラーを頻繁に混入させるようなエージェントだとしたら、もっと発見しにくいロジックのバグも同程度に書いているはずで、型検査の有無以前の問題"
「13 言語で簡易 git を実装させたところ、Ruby・Python・JavaScript が最速・最安・最安定でした。静的型付けの言語は 1.4〜2.6 倍遅く、生成コストがかかる傾向」「生成されたコードを全部分析したわけでもありません」
型ありのほうが遅くなってるように見えるのが興味深い。コーディングエージェントの比較にも使えそう
RubyとRBSの組み合わせはどうなるんだろ?
AIの精度が上がった理由が学習データを増やしたことだから、学習データが多そうな言語がいい評価になるのは納得感ある pyhtonはゴミデータも多そうだと思ったけど学習を工夫してるのかな
実験からもブコメからも、これまで言語が多様だった理由があったように、AI Codingでも変わらず多様であり続けそうで面白いですね。
予想してた方向に動いてるかもしれんなあこれは。静的型付けが必要な規模ならそもそもコンパイル言語を使うべきではないかとは思ってた。スクリプト言語は手軽さが命だと思うんだよなあ
仕事で使うのであればメンテナンスのし易さが最も重要
あとでScalaでも実験してみます。ところで静的型の場合でも型推論が効くならそもそも型を省略できるところが多いので、トークン数消費はそんなに増えないのではという気もします。
習熟度は確かにありそう。type checkerの安全性はLLMにとっても有益かと思ったがそうでもないんかな。
アタッカーなら早い安い方で。ディフェンダーならなるべく静的な得意言語か設計で。
Sonnetでやったらどうなるんだろ
どちらかというと Go は AI 向きだと言い続けてきたけど、こうやって可視化されたのは良い。
OCaml いいな。
Perlがあるとほっこりする