プログラマの美徳である怠惰が失われることの危うさについて書いている記事。
・プログラミング言語のPerlの作者は、プログラマーの美徳として怠惰、短気、傲慢の三つを挙げている
・筆者はこの中でも怠惰が最も重要であり、優れた抽象化を生み出してシステムをシンプルにする原動力だと考えている
・プログラマーが怠惰を実践して将来の労力を減らすためには、頭の中で深く思考するという多大な知的労働が必要
・優れた抽象化による恩恵は、自分自身の時間を節約するだけでなく、後に続く開発者たちのソフトウェア開発も容易にする
・しかし近年は、ソフトウェア開発に関わる人の裾野が広がり、怠惰という美徳の本来の意味が失われつつある
・現代の便利なツールによる高い生産性は、とにかくコードを大量に書くことを良しとする、偽りの勤勉さを生み出している
・LLMの登場は、この偽りの勤勉さを重視する人をさらに勢いづかせることになった
・LLMを使って一日に何万行ものコードを書いたと自慢する人もいる
・だが、ソフトウェアの価値をコードの量で測るのは間違い
・実際にその大量のコードで作られたプログラムを調べると、不要なファイルや無駄なデータが詰め込まれたひどい状態
・この件からわかる最大の問題は、LLMそのものが怠惰という美徳を全く持ち合わせていないこと
・LLMは作業コストがゼロであるため、将来の効率化を考えず、無駄なコードを際限なく積み上げて複雑にしてしまう
・人間が有限な時間しか持たないという制約こそが無駄を嫌う怠惰さを生み、複雑なシステムをシンプルに保つための力となる
・システムをシンプルで理解しやすいものに保つという重要な役割を、時間や負荷の制約がないLLMに自発的に任せることはできない
・LLMが未来のソフトウェア開発において強力で重要なツールであることは間違いない
・LLMはあくまで道具として割り切り、後世に役立つシンプルなシステムを作るという人間の怠惰を実現するために使うほうが良いだろう