「プログラミングの終焉」にHNで賛否 AIの自動移植めぐり議論白熱
Zigで書かれていたJavaScriptランタイム「Bun」をAIがRustへ自動翻訳したという記事が、Hacker Newsで大きな話題になった。
「プログラミングは終わる」という挑発的なタイトルに対し、翻訳の質を疑う声、メタプログラミングの時代が来ると歓迎する声、実務でAIを使うとかえってコードベースが手に負えなくなるという反論が入り乱れた。
プログラミングの終焉
出典: pauldix.com / 元記事はこちら
まさか自分が生きているうちに、プログラミングが鍛冶屋みたいな仕事になるとは思ってなかった。もっとずっと先の話だと思ってた。
>>9
うーん。俺は手でコードを書くのが好きなタイプで、趣味は納屋にある鍛冶場での作業。妻は妻で、手縫いの服作りやキルティングを楽しんでる。……もうこの手の議論からは降りるわ。自分で思ってたほどテック好きじゃなかったみたいだ。
うーん。俺は手でコードを書くのが好きなタイプで、趣味は納屋にある鍛冶場での作業。妻は妻で、手縫いの服作りやキルティングを楽しんでる。……もうこの手の議論からは降りるわ。自分で思ってたほどテック好きじゃなかったみたいだ。
プログラミングの終わりであり、メタプログラミングの始まりだ。プログラムを書くプログラムを書く技術は、普通にプログラムを書くよりずっと難しい。実際、多くの現場ではメタプログラミングがほとんど使われていないから(Linux/Chromium/Firefox/Androidを見ればわかる)、これが進むのはむしろ歓迎だ。
LLMは翻訳がとんでもなく得意だ。自然言語同士でも、プログラミング言語同士でも。それに、すでに実証済みのものを作り直す作業も非常にうまい。そしてコードを書く作業の9〜9.5割は、結局そういう作業だと思う。
>>15
それでも実際にはかなり苦戦している印象がある。1対1の変換は得意だけど、その過程で変換先の言語の作法を無視しがちだ。AIによるRustへの書き換えを見てきたけど、ちゃんとしたRustユーザーなら鼻で笑うようなパターンが多い。
それでも実際にはかなり苦戦している印象がある。1対1の変換は得意だけど、その過程で変換先の言語の作法を無視しがちだ。AIによるRustへの書き換えを見てきたけど、ちゃんとしたRustユーザーなら鼻で笑うようなパターンが多い。
AIコーディングエージェント向けのフィーチャーフラグサービスを作っているんだけど、これは方向性として合っていると思う。人間のユーザーじゃなくてコーディングエージェントに使わせるサービスだ。
所詮は道具の一つだよ。プログラミングは楽しいものだし、これからもそうであり得る。IKEAがあっても自分で木工をやる人はいる。あるいは、Cが登場したときにアセンブリが一段下に押しやられたのと同じように、『コード』も一段下がるだけかもしれない。実際、1960〜80年代と比べて、いまアセンブリを見る人の割合はごくわずかだ。
BunのZigからRustへの移行は、良く言っても『大通りで空ぶかしして終わる』ようなものだ。派手に音と煙を出すだけで、結局どこにも進んでいない。
エンゲージメント稼ぎのための炎上狙いタイトルだな。おめでとう、HNのトップに載ったぞ。
>>19
タイトルは記事の中身を正確に反映している。だからその評価は不当だ。
タイトルは記事の中身を正確に反映している。だからその評価は不当だ。
>>19
彼の言う通りだ。GitHubのグラフを見れば、すでにコードの大半は人間の手で書かれていないことがわかる。グラフの形(それに直近のLLMの進化ペースを示す各種ベンチマーク)を見れば、人間によるプログラミングが近い将来ニッチな活動になることが見えている。
彼の言う通りだ。GitHubのグラフを見れば、すでにコードの大半は人間の手で書かれていないことがわかる。グラフの形(それに直近のLLMの進化ペースを示す各種ベンチマーク)を見れば、人間によるプログラミングが近い将来ニッチな活動になることが見えている。
まだそこまでは行っていない。最先端のモデルでもゴミみたいなコードを出すし、リファクタリングは絶対にしない。機能を増やすたびにコードベースは二乗のペースで膨らんで、いずれ止まる。そこで働いている人たちの健闘を祈る。
>>20
リファクタリングしろって指示すればいいだけじゃない?それはスケジュールを組んで実行させるハーネスの話であって、ゲームチェンジャーってほどのことじゃない。
リファクタリングしろって指示すればいいだけじゃない?それはスケジュールを組んで実行させるハーネスの話であって、ゲームチェンジャーってほどのことじゃない。
>>37
かもしれないけど、どうリファクタリングするか具体的に指示しないと、意味不明なコードとヘルパー関数が増えるだけだよ。だからこそプログラミングが必要なんだ。
かもしれないけど、どうリファクタリングするか具体的に指示しないと、意味不明なコードとヘルパー関数が増えるだけだよ。だからこそプログラミングが必要なんだ。
>>37
何かやれと指示すると、AIは『やったフリ』を全力でしてくる。具体的に何をすべきか指示しない限り、まともなリファクタリング結果が返ってきたことはほとんどない。
何かやれと指示すると、AIは『やったフリ』を全力でしてくる。具体的に何をすべきか指示しない限り、まともなリファクタリング結果が返ってきたことはほとんどない。
あるプログラムを別の言語にボットが翻訳しただけの話に、釣りタイトルをつけている。些細なことで盛り上がる人がいるもんだ。
>>2
ソースコードのトランスパイラなんて昔からある。LLMのおかげで安く済むようになった可能性はあるが、それを裏付ける実データはまだない。
ソースコードのトランスパイラなんて昔からある。LLMのおかげで安く済むようになった可能性はあるが、それを裏付ける実データはまだない。
>>3
アーキテクチャや設計原則を重視するなら、AIはその目標に沿った設計を組み立てたり、自分の直感を言語化する手助けをしたりするのも得意だ。ただしコードを出すスピードを多少犠牲にする覚悟は要る。二者択一の話じゃない。
アーキテクチャや設計原則を重視するなら、AIはその目標に沿った設計を組み立てたり、自分の直感を言語化する手助けをしたりするのも得意だ。ただしコードを出すスピードを多少犠牲にする覚悟は要る。二者択一の話じゃない。
>>3
たいていの業界では、スピードが常に最優先事項だったと思う。アーキテクチャや設計原則は、物事が失速して立ち行かなくなるのを防ぐためだけに存在していた。つまりスピードを守るための手段だったわけだ。
たいていの業界では、スピードが常に最優先事項だったと思う。アーキテクチャや設計原則は、物事が失速して立ち行かなくなるのを防ぐためだけに存在していた。つまりスピードを守るための手段だったわけだ。
>>27
違う。『十分に良いもの』を作るためだった。急ごしらえのPoCフェーズのあと、次々にプロジェクトが失敗していくのを見ている。LLMへの依存度が深まるほど、コードベースは早く手に負えなくなる。
違う。『十分に良いもの』を作るためだった。急ごしらえのPoCフェーズのあと、次々にプロジェクトが失敗していくのを見ている。LLMへの依存度が深まるほど、コードベースは早く手に負えなくなる。
>>27
LLMがソフトウェアの納品を速くするという主張を裏付ける証拠はゼロだ。
LLMがソフトウェアの納品を速くするという主張を裏付ける証拠はゼロだ。
>>27
そのゴミコードを誰が直すんだ?年収20万ドルとか貰っているシリコンバレーのプログラマーじゃないだろう。これから我々は、これまでのどのアウトソーシングの波も『予行演習』に見えるような、ソフトウェア業界のアウトソーシングの黄金時代を迎えることになる。
そのゴミコードを誰が直すんだ?年収20万ドルとか貰っているシリコンバレーのプログラマーじゃないだろう。これから我々は、これまでのどのアウトソーシングの波も『予行演習』に見えるような、ソフトウェア業界のアウトソーシングの黄金時代を迎えることになる。
>>4
失礼な質問だったらすみません、Simonさんは他のエンジニアと一緒に働いていますか?
失礼な質問だったらすみません、Simonさんは他のエンジニアと一緒に働いていますか?
>>29
働いてるよ、なんで?
働いてるよ、なんで?
>>6
つまり、いずれ『バイブコーディング』から『バイブ』が取れるようになるってこと?
つまり、いずれ『バイブコーディング』から『バイブ』が取れるようになるってこと?
何に乗り換えるつもりなんだ?
何に?
>>23
まあ、ステップ2はいずれAIに置き換えられるかもしれない。でもステップ1は?そもそもAIがゼロから書き直そうなんて発想を持つ理由がどこにある?
まあ、ステップ2はいずれAIに置き換えられるかもしれない。でもステップ1は?そもそもAIがゼロから書き直そうなんて発想を持つ理由がどこにある?
他サイトの新着
>>27
それは機能の話だ。しっかりしたアーキテクチャと設計原則があってこそ、機能の追加や変更を速くできる。
それは機能の話だ。しっかりしたアーキテクチャと設計原則があってこそ、機能の追加や変更を速くできる。
>>44
『それはプログラミングと呼ぶんだよ。Bunのテストとオラクルは何年もかけたプログラミングの成果だ』全く同意する。だからこそ見出しに気を取られるなと警告したんだ。
『それはプログラミングと呼ぶんだよ。Bunのテストとオラクルは何年もかけたプログラミングの成果だ』全く同意する。だからこそ見出しに気を取られるなと警告したんだ。
>>44
プロジェクト名『千の切り傷による死』ってところだな。
プロジェクト名『千の切り傷による死』ってところだな。
>>44
これって、シリコンバレーの多くの開発者が職を失うことを意味しないか?もし競合(AIオペレーター)が8000マイル離れた場所に座って、はした金で同じことができるなら。
これって、シリコンバレーの多くの開発者が職を失うことを意味しないか?もし競合(AIオペレーター)が8000マイル離れた場所に座って、はした金で同じことができるなら。
>>52
要するに、ソフトウェア業界を『TikTok化』しているだけで、動くソフトウェアを作らせるためにAIに何を指示すればいいのか誰もわからなくなる。原理的には『イディオクラシー』で、作物が育たなくなったせいで誰もブリトーの皮の作り方を知らなくなる、あの話と同じだ。
要するに、ソフトウェア業界を『TikTok化』しているだけで、動くソフトウェアを作らせるためにAIに何を指示すればいいのか誰もわからなくなる。原理的には『イディオクラシー』で、作物が育たなくなったせいで誰もブリトーの皮の作り方を知らなくなる、あの話と同じだ。
>>45
一人で、あるいはプロジェクトを完全にコントロールできる立場で作業している人からは熱狂の声をよく聞くけど、複数人のチームでコーディングモデルを使って仕事をしている人からは、悲惨だという声しか聞こえてこない。データポイントを集めているだけなんだけどね。
一人で、あるいはプロジェクトを完全にコントロールできる立場で作業している人からは熱狂の声をよく聞くけど、複数人のチームでコーディングモデルを使って仕事をしている人からは、悲惨だという声しか聞こえてこない。データポイントを集めているだけなんだけどね。
十分に複雑なソフトウェアになると、エージェントはまだかなり苦戦する。
LLMが吐き出すアーキテクチャ上の惨状にパッチを当て続けるのは、職人的なプログラミングとは真逆のことだと思う。
※本記事は5ch(Hacker News)スレッド「The End of Programming」より抜粋・要約して構成しています。
この記事のリアクション






まだコメントはありません。