失去懶惰美德的危機

Hacker News·大約 5 小時前

本文探討了程式設計師經典的懶惰美德如何驅動優雅抽象層的建立,並指出這種美德正受到大型語言模型所導致的盲目程式碼膨脹,以及一種虛假勤奮文化的威脅。

背景

本文探討了 Larry Wall 在《Programming Perl》中提出的程式設計師三大美德:懶惰、不耐煩與虛榮,並重點分析「懶惰」在現代開發環境中的質變。作者認為,傳統的懶惰是為了追求簡潔與強大的抽象化以節省未來體力,但隨著大型語言模型(LLM)的興起,這種美德正被一種追求產出量、缺乏約束的「偽勤奮」所取代。

社群觀點

在 Hacker News 的討論中,社群成員對於「懶惰」作為一種美德有著深切的共鳴與反思。有資深開發者回憶起早期使用 Perl 構建 Web 伺服器的時代,認為 Larry Wall 的觀點在當時確實精準捕捉了優秀軟體設計的本質。這種觀點認為,程式設計師的懶惰並非不作為,而是一種為了避免重複勞動而進行的高強度思考,即透過建立優雅的抽象來簡化系統。然而,面對當前矽谷興起的 LLM 開發熱潮,社群中出現了明顯的警惕感。評論者指出,當前的開發氛圍似乎更傾向於炫耀產出量,而非系統的精煉程度,這種現象被形容為一種缺乏靈魂的產出,與過去追求程式碼品質的初衷背道而馳。

針對原文中提到的「過度抽象」與「懶惰」之間的平衡,社群展開了技術實務上的辯論。雖然 Larry Wall 建議開發者應多思考抽象化,但現代開發者對此持有更謹慎的態度。有觀點認為,當今軟體工程面臨的問題往往不是抽象不足,而是過度設計。為了修正這種傾向,社群中提出了「WET」(Write Everything Twice)的原則,主張在同樣的邏輯出現第三次之前,不應輕易建立抽象層。這與傳統的 DRY(Don't Repeat Yourself)原則形成對比,反映出開發者在面對日益複雜的系統時,開始重新評估「重複」的價值,認為適度的重複有時比錯誤的抽象更能降低系統的認知負荷。

此外,社群對於 LLM 在開發流程中的角色也達成了某種共識:工具本身並無美德,真正的美德來自於使用者的約束。留言者認為,LLM 雖然能以驚人的速度生成程式碼,但它缺乏人類因為「想偷懶」而產生的優化動機。如果開發者盲目追求 LLM 帶來的產出速度,而不去思考如何利用這些工具來解決技術債或提升工程嚴謹性,最終只會導致系統膨脹成不可控的垃圾堆。這種討論強調了人類在開發過程中的主體性,認為唯有保持對「簡潔」的追求,才能在 AI 時代守住軟體工程的核心價值。

延伸閱讀

  • Rule of three:電腦程式設計中的經驗法則,建議在程式碼重複出現三次時才進行重構與抽象化。
https://bcantrill.dtrace.org/2026/04/12/the-peril-of-laziness-lost/