世紀末軟體革命復刻版
 賀元、賴明宗、劉燈/著
 上奇出版
 售價:620元


書籍有復刻版本是常有的事,但中文電腦書有復刻版本,恐怕是破天荒頭一遭了。這一本《世紀末軟體革命復刻版》,初版發行於1994年,第二版則於1996年發行,此刻距離第二版的發行,也已度過了漫長的十年,而時序也從書名中的世紀末一路走到了此時的新世紀初。回首當年,自己接觸物件導向設計的觀念,本書還是主要的啟蒙書籍,此時重見復刻版本的問世,心中不免有許多感觸。

中文原生書籍的典範作品
本書三位作者:賀元、賴明宗、以及劉燈,都稱得上是一時的傳奇人物。昔日在撰寫本書時,分別依三人的興趣與專長,撰寫書中的不同部份。而在復刻版中的代復刻版序中,劉燈也提到:「這一次印行的復刻版,是由原《世紀末軟體革命2》的前兩個部份(分別介紹 OOP 及 C++),以及《世紀末軟體革命》第一版的第四部份(GUI)所構成的。」這三個主題對現今的軟體開發人員來說,恐怕有如空氣和水一般的自然存在,但在十多年前,對程式員(尤其是台灣的程式員)來說,多半都是十分陌生的領域。三位作者不僅對這些主題有相當程度的熟悉,同時都具備極佳的中文書寫能力,在本書的主題及結構安排也很適當,因此對當時原生中文電腦書籍十分缺乏的市場來說,算是相當難得的傑作。許多書名掛著「物件導向」的C++程式語言介紹書籍,除了對物件導向極少著墨外,連C++對物件導向所提供的支援,往往都乏善可陳。而本書的出現,總算給中文讀者們一本專注在物件導向統論性質的書籍,對許多無力流利閱讀原文書籍,又對物件導向觀念求知若渴的讀者們來說,真是一大福音。

三大主題,相互呼應
復刻版的三大主題:OOP、C++,以及GUI,其中OOP部份聚焦在物件導向的基礎理論,從物件導向概念的興起、演化的歷史,到物件導向的基本核心元素,諸如:物件的特性、介面與資訊隱藏、抽象化的概念、類別之間的關係、重載、多型等等,都在這個主題中做了最基礎的介紹。不懂物件導向的讀者能夠透過這個部份,跨入物件導向世界的門檻。此外,在這個部份更進一步探討軟體設計上的哲學性問題,例如:模組的畫分、模組的凝聚性及耦合性,軟體的品質以及複雜度等等議題。

而在C++這個部份,基本上承襲著OOP一段,接續著處理C++對物件導向所提供的支援。和許多介紹C++語法的書籍不同的是,它著重的是C++語法對於OOP所提供的支援,它甚至假設讀者已經熟悉C語言的語法了。在這個部份,它介紹了C++中的物件、類別、成員函式、存取等級控制,如何在C++中進行繼承,與C++中動態連結機制及虛擬的概念,最後介紹了模板、STL,以及錯誤的處理。

在GUI議題上,本書從GUI的概論娓娓道來。視窗式的操作介面在今日已是日常生活的一部份,但在十多年前文字操作模式當道的年歲裡,卻是頗為新穎的觀念。這個部份從歷史談起,再續以物件導向圖形使用介面的架構,許多今日耳熟能詳的概念,像是MVC,以及訊息驅動式的GUI事件處理架構,都在此處有了普遍性的介紹。最後,作者更以C++實作了一套GUI應用程式的架構,讓讀者不僅能架構在其上開發自己的GUI應用程式,更有機會藉此一窺此架構實作之門徑。

復刻的理由
雖已歷經多年,本書內容仍具相當的實用價值,尤其以物件導向觀念的部份格外明顯。現今物件導向程式語言已相當普遍,但許多使用物件導向程式語言的程式員仍缺乏物件導向概念的基本薰陶,演變成為「雖具物件導向之皮,卻無物件導向之骨」的情況。
這麼一本好書的復刻版,就算是已經擁有絕版原書的讀者,仍有將其收納置於書架的價值。對一路走過那段從程序式世界跨入物件導向世界的程式員來說,看到本書的重現,恐怕難免都會有一種「紀念那段夢想紛呈的年代﹝註﹞」的懷念情感吧。

註:語出葉秉哲先生的部落格文章(http://william.cswiz.org/blog/archives/2006-06-21/oobook-reprint/#more-172)。

《作者簡介》王建興
清華大學資訊工程系的博士研究生,研究興趣包括電腦網路、點對點網路、分散式網路管理、以及行動式代理人,專長則是Internet應用系統的開發。曾參與過的開發專案性質十分廣泛而且不同,從ERP、PC GAME到P2P網路電話都在他的涉獵範圍之內。


Advertisement

更多 iThome相關內容