永恆的承諾:試圖消滅程式設計師的歷史回顧
軟體開發的歷史標誌著一個不斷循環的承諾,即簡化創作並消除對程式設計師的需求,從 COBOL、第四代語言到現代 AI 皆是如此,然而每一次嘗試最終都未能填補人類意圖與複雜實作之間的鴻溝。
背景
本文回顧了軟體開發史上多次試圖消除「程式設計師」這一角色的嘗試,從 1950 年代的 COBOL、1970 年代的專家系統,到 1980 年代的第四代程式語言。作者指出,儘管每一代技術都承諾能讓非專業人士透過自然語言或簡化工具建立系統,但最終往往只是創造了新的專業職位,並未真正實現開發的去中心化。
社群觀點
Hacker News 的討論圍繞著「民主化」的定義與 AI 是否真能打破歷史循環展開。部分評論者質疑 AI 帶來的民主化只是假象,認為目前的 LLM 模型掌握在少數大型企業手中,個人開發者雖然能更輕易地產出程式碼,卻也更依賴這些昂貴且不透明的基礎設施,這與過去在個人電腦上自由編寫程式的純粹民主化背道而馳。有人將此類比為 Uber 對計程車產業的衝擊,認為這僅僅是改變了存取方式,而非真正的治理民主化。
針對 AI 是否能取代工程師,社群內存在明顯的分歧。支持者認為,過去的失敗是因為當時只是將一種形式語言轉換為另一種形式語言,而現代 AI 具備處理自然語言歧義並自動補全細節的能力,這與以往的編譯器有本質上的不同。然而,反對者則強調「精確性」才是軟體開發的核心挑戰。即便 AI 能理解自然語言,使用者仍必須具備足夠的邏輯清晰度來描述需求並驗證結果。許多資深開發者指出,AI 在處理非關鍵任務時表現優異,但在進入生產環境的最後一哩路時,往往會陷入重複錯誤的循環,且缺乏對安全性、執行緒與架構一致性的深度考量。
此外,討論中也觸及了職業穩定性的隱憂。有觀點認為程式設計師長期享有高薪與穩定,面對 AI 的衝擊自然會產生防禦心理,希望技術失敗。但也有資深工程師反駁,軟體產業本就充滿泡沫與技術更迭,技能過時是常態。目前的共識傾向於 AI 暫時仍是資深開發者的強大輔助工具,能大幅提升產能,但若由缺乏經驗的初學者主導,則可能產出難以維護且具備安全隱患的系統。最終,軟體工程的本質在於調和現實世界的模糊需求與硬體世界的嚴苛限制,這種抽象建模的能力目前仍難以被完全自動化。
延伸閱讀
留言中提到了 Lighthill Report (1973),這是一份導致英國 AI 研究經費中斷、引發第一次 AI 寒冬的重要歷史報告。此外,也有開發者分享了目前正在使用的自動化工具如 Claude Code,以及提供 AI 訓練數據服務的平台 dataannotation.tech。