😫

プログラミング楽しくない人が生成AIで生成するコードは楽しくない

に公開

https://zenn.dev/tkithrta/articles/480c260d9f72ca

この記事の続きです。

最近、プログラミング界隈は生成AIの話題で持ちきりですね。
「これを使えば誰でもコードが書ける」「退屈なことはAIにやらせよう」という言葉を毎日のように目にします。
たしかに素晴らしい技術ですし、その恩恵は計り知れません。
でも、その盛り上がりを見るたびに、私の頭には一抹の不安がよぎるのです。

かつて、多くの現場で「Excel職人」が生み出してきた、あのVBAマクロを思い出します。
上長からの曖昧な指示をもとに、ただひたすらセルの値をコピーし、条件分岐で色を塗り、最終的に「動けばヨシ!」とされた、あのコードたちです。
そこにはソフトウェアエンジニアリングの思想はなく、ただその場しのぎの要件を満たすためだけの文字列が並んでいました。
構造を考える楽しさも、再利用性を高める工夫もなく、ただの苦行としてプログラミングに触れていた人も少なくないでしょう。
将来性などという言葉とは無縁の世界でした。

一方、私たちが普段触れているPythonやTypeScriptの世界は全く違います。
どうすればもっと美しく書けるか、より効率的なアルゴリズムはないかと知恵を絞る。
PyPIやnpmといった巨大なエコシステムの中から、最適なライブラリを探し出す冒険心。
コードを通じて新しい価値を創造しているという確かな手応え。
これこそが、プログラミングの醍醐味であり、楽しさだと私は信じています。

そして、この話を生成AIに繋げると、ある種のデジャブを感じるのです。

プログラミングの面白さ、つまり「どうすればもっと綺麗に書けるか」「もっと良い設計はないか」といった探求心を持たない人が、AIに「このデータを集計してレポートにするコード作って」と丸投げして得たコード。
それは果たしてどんな姿をしているでしょうか。

おそらくAIは、それっぽいVBAコードをすぐに出力してくれるでしょう。
そして指示者はそれをコピペし、動いたことを確認して満足する。
そのプロセスは、かつてのマクロ作成と本質的に何が違うのでしょうか。

AIは魔法の杖ではありません。
結局のところ、AIが生成したコードは、それを指示した人間の思考を反映した鏡なのです。
プログラミングの楽しさを知らない人がAIというツールを使っても、生まれてくるのは魂のない、動くだけの無味乾燥なコードの断片でしかありません。
どんなに優れた調理器具を手に入れても、料理への愛情や探求心がない人には、心に残る一皿が作れないのと同じです。

そのAIが生成した「楽しくないコード」の山が、数年後に誰も仕様を理解できない技術的負債として横たわっている光景が、私には目に浮かぶようです。
そして、そのメンテナンスを任されるのは、未来のエンジニアである私たちなのかもしれません。
そう考えると、少しだけ憂鬱な気分になるのです。

以下参考にした記事です。

https://note.com/choo/n/n44ea8a77770f

Discussion