Coders at Work 封面

Coders at Work

👨‍💼: Peter Seibel
📅: September 16, 2009
Buy Now
📖:
透過 15 位頂尖程式設計師的深度訪談,探索程式設計作為一門手藝的本質。
📘 深度概覽

作者背景#

Peter Seibel 是一位兼具程式設計實務與寫作能力的技術作者。他曾任職於網路新創公司,擁有 Common Lisp 的實作經驗,著有 Practical Common Lisp(2005)。Seibel 對程式設計手藝的關注使他在本書中能以同行的視角提問,引導受訪者深入討論技術細節與方法論,而非停留在表面的職業敘事。

完整摘要#

本書收錄了 15 位橫跨不同世代與領域的程式設計師訪談,從 1950 年代的 ARPANET 先驅 Bernie Cosell 和 Turing Award 得主 Donald Knuth、Fran Allen、Ken Thompson,到網路時代的 Jamie Zawinski(Netscape)、Brad Fitzpatrick(LiveJournal/memcached)和 Brendan Eich(JavaScript 創造者)。每位受訪者圍繞共同主題分享觀點:如何學習程式設計、除錯策略(多數人偏好 print statement 而非除錯器)、閱讀他人程式碼的方法、對形式驗證與測試的態度,以及程式語言的設計取捨。書中反覆出現的張力包括:由上而下 vs. 由下而上的設計、重寫 vs. 漸進修復、靜態型別 vs. 動態型別、簡單性 vs. 通用性。受訪者對 C++ 的批評幾乎一致,而對程式碼可讀性和出貨壓力之間的平衡則各有不同的實戰經驗。Joe Armstrong 提出函數式程式設計中不可變狀態的優勢,Simon Peyton Jones 闡述惰性求值如何推動 Haskell 走向 Monads,Guy Steele 從代數性質論述平行運算策略,L Peter Deutsch 則對軟體工程 40 年來缺乏質性突破表達悲觀。

本書的貢獻與定位#

Coders at Work 的獨特價值在於以統一的訪談框架,讓不同背景的程式設計師針對相同問題(除錯、設計、閱讀程式碼、團隊協作)給出各自的回答,使讀者得以直接比較不同方法論的差異與共通點。本書不是教程或方法論宣言,而是一份第一手的口述技藝史,記錄了從打孔卡片到 Web 時代程式設計實踐的演變軌跡。