對於新技術,許多人都是瀏覽一本介紹性質的書,然後就開始採用此新技術來開發系統,這其實是很冒險的。如此開發出來的系統,潛藏太多地雷在其中,什麼時候地雷會引爆,沒人說得準。所以在看完一本介紹性質的書之後,你需要搭配一兩本深入的書。關於.NET的學習,我建議閱讀次序是:

1. Jesse Liberty著作的《Programming C#, 4th Ed》(O’Reilly 2005)
2. Juval Lowy著作的《Programming .NET Components, 2nd Ed.》(O’Reilly 2005)
3. Jeffrey Richter著作的《Applied Microsoft .NET Framework》(Microsoft Press 2002)

第一本公認的.NET經典
.NET好書固然不少,但真正能被視為經典的卻不多。我認為Jeffrey Richter所著作的這本《Applied Microsoft .NET Framework Programming》是.NET的第一本經典,是所有.NET程式員都不應該錯過的書。這其實不讓人感到意外,畢竟從以前的《Advanced Windows》、《Programming Applications for Microsoft Windows》開始,只要是Jeffrey Richter所寫的書,哪一本不是佳評如潮?閱讀Jeffrey Richter的書,猶如透過內視鏡觀察系統平臺,許多運作機制頓時豁然開朗。

這就是Jeffrey Richter一貫的風格,他的每一本書都直搗系統核心。他的書不會告訴你ASP.NET、ADO.NET等應用技術,Jeffrey一向專注在平臺系統技術。也因此,這本書雖然書名中完全沒有提到CLR,但是仍然屬於.NET CLR的書。不過,書中介紹許多C#的語法和CLR之間的關係,所以也可以算是程式設計的書。由於書名未能充分反應書的內容,所以Jeffrey Richter把下一版的書名改成《CLR via C#: Applied Microsoft Framework 2.0 Programming》,以名實相符。

Tom Archer的《Inside C#, 2nd Ed.》(Microsoft Press)也花許多篇幅著墨在C#語言和.NET CLR之間的關係,但是和Jeffrey Richter的這本書比起來,精彩程度還是差了一截。Don Box自從寫了那本《Essential COM》成為COM的經典之後,大家就期待他會在.NET領域寫出另一本經典,但後來他的《Essential .NET》卻沒成為經典,因為許多內容太過於瑣細,而且文筆很糟糕(這要怪編輯),根本比不上Jeffrey Richter的這本書。所以至今,對於.NET CLR和C#語言之間的關係,最好的書還是《Applied Microsoft .NET Framework Programming》。

理解一切,不需強記
Jeffrey Richter雖然不是微軟的員工,但是由於他是具盛名的作家和技術顧問,所以和微軟內部有相當緊密的聯繫,也因此,可以取得許多第一手的資料。雖然和微軟關係很好,但是Jeffrey Richter並非微軟的傳聲筒,在他的這本書中,仍然就事論事,對於他認為.NET設計得不好的許多地方,直言提出建議。

Jeffrey Richter擅長把許多觀念講清楚,不只告訴你許多細節(What),更會告訴你為何如此(Why),一旦理解之後,你可能就不再需要強記這些細節,因為你都融會貫通了。

適合中上程度的.NET程式員
這不是一本適合初學者的書,在讀這本書之前,讀者必須先熟悉:C#語言、物件導向概念、.NET Framework、.NET CLR基本概念。這本書的閱讀門檻不低。你可能會懷疑,既然這些都會了,讀這本書還能學到東西嗎?相信我,你不但會學到東西,你所學到的東西會比其他隨便買來的五本書加起來更多。

本書缺乏Thread、Async Call、Serialization、Remoting、Security等重要主題。預計在2005年年底會推出新版本《CLR via C#: Applied Microsoft Framework 2.0 Programming》,或許新版本會包含某些第一版忽略的主題。值得期待!

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

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

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

熱門新聞

Advertisement