近來,有些人會把自己的名字嵌入作品的名稱裏,電影有「變腦」(Being John Malkovich),電視節目有「于美人fun電」,歌曲有「吳克群」,IT技術書籍有《Joel on Software》。

Joel on Software是一個抒發軟體
開發人員心聲的部落格
其實《Joel on Software》書名的由來,並非受到這種自戀風潮的影響,「Joel on Software」原本是Joel Spolsky部落格(blog)的名稱。Joel待過微軟、Juno等公司,使用過相當多的技術和語言,參與過相當多軟體開發專案,並對於資訊科學的理論以及IT實務都相當純熟。經過這些年的耕耘,「Joel on Software」成為軟體開發領域的很多人造訪的部落格,Joel Spolsky於是將2000~2004年發表過的一些文章整理成這本《Joel on Software》付梓,成為暢銷書。

這讓我想起我在2000年~2002年之間在O’Reilly Taiwan的網路專欄「Sleepless in Java」,後來也集結成《爪哇夜未眠》,在大陸和台灣出版(大陸版書名為《Java夜未眠》)。和《爪哇夜未眠》相較之下,《Joel on Software》更有料、技術含量更高、也較少情緒性的言語。

軟體開發相關主題無所不包
書中討論到的範圍包含作業系統、程式語言、資料結構、專案管理、軟體工程、業界八卦(Netscape、Borland、Microsoft、BeOS),只要是軟體開發相關的主題,簡直無所不包,其中有許多文章很精彩。Joel是很有想法的人,從此書中你可以看到Joel對於軟體界許多事件觀察後的獨到見解,這或許會引發你更進一步的想法。書中有許多實用的建議,包括了:
1. 如何面試程式員、如何組織軟體團隊、如何激勵團隊。
2. 如何規劃可行的專案時程,為何軟體專案開始沒多久就會延遲。
3. 如何設計軟體功能,撰寫有用的規格,不要寫完之後永遠沒人會去讀。
4. 如何避免軟體開發過程中常遇到的問題。
5. 從Netscape和Borland的慘痛教訓告訴我們,程式員堅持丟棄舊的程式碼而從頭開始,為什麼是不對的作法。
6. 為何程式員需要一個有門(可以關上)的寫程式環境。

活潑生動、幽默風趣、見解獨到
作者使用許多美式的誇張說法,列舉一二。為了要強調Unicode很重要,Joel說道:「所以我要鄭重聲明:如果你是21世紀的程式員,還沒有字元、字元集、編碼、以及Unicode的基本知識,而且你被我逮到的話,我會好好地教訓你,罰你在密閉的潛水艇中不停地剝洋蔥六個月,我發誓我會這麼做。」

談到UCS-4編碼方式的缺點時,Joel說道:「天呀!即使德州人也不會願意浪費這麼多記憶體空間。」(暗示德州人都很財大氣粗。)關於軟體規格,Joel說:「寫軟體規格就像用牙線潔牙一樣,大家都知道很重要,但很少有人會這麼做。」

在讀這本書的時候,我就在懷疑作者大學時代應該是讀資訊系,因為如果沒有資訊系紮實的教育基礎,書中許多內容是不可能寫得出來的。後來我去查了一下,果真如此(耶魯大學)。我相信資訊系畢業的人應該都會很喜歡這本書,就和我一樣,會勾起一些以前所學的回憶。

有人告訴我:我的《爪哇夜未眠》會暢銷,顯示搞電腦的人都太苦悶了,需要看一些無聊的文章,而且文章還要和他們的工作與生活有關係,最好還能順便學到一點東西,我認為《Joel on Software》正是這樣一本書。我相信如果《Joel on Software》出版中文版,也一定會是暢銷書,我自己就是欲罷不能,一鼓作氣地連著幾天讀完《Joel on Software》。喂!我說哪家出版社,快去翻譯這本書吧!

Joel on Software

Joel Spolsky /著
Apress出版
售價:24.99美元
推薦:Amazon四顆半星

《作者簡介》
蔡學鏞

清華大學資訊工程碩士,現為寰震科技技術經理、美商歐萊禮出版社顧問、臺灣微軟特約專欄作家。曾任華碩集團軟體工程師、元智大學資訊系講師。

蔡學鏞曾擔任數個研討會講師(包括 JavaTwo、TechEd、資策會)。參與設計清華大學 Java VOD 系統,該系統並獲得第一屆 Java Cup 比賽校園組冠軍。參與設計 Java To .NET Migration,成為美國微軟十大成功案例之一。

蔡學鏞著譯有數本 Java 書籍,並在臺灣和中國的雜誌開闢技術專欄,專長的語言為 C#、REBOL、Java、C/C++。他的電子郵件信箱 xy.cai@msa.hinet.net

熱門新聞

Advertisement