一刷 8000 本 (2003/09)  

《C# Primer》
中文版
(簡體)

侯捷 / 陳碩 合譯

CSDN網站票選 2003十大最愛圖書

cs-primer.jpg (37243 bytes)

本書範例  csharpprimerprograms.zip

簡體中文版 勘誤


□適合對象:C# 程式語言學習者
□內容特色:由知名C++技術專家與作家 Stanley B. Lippman 所著。
                        Lippman 著有《C++ Primer》,為 C++ 領域之傑出教本。
□製作特色:含 index,平裝。


譯序by侯捷

歷經前期的澹淡經營和後期十數年的蓬勃發展之後,OOObject Oriented,面向對象)技術已成為學術界和工業界普遍支持與投注的一種軟件技術。OO技術細分為OOPProgramming)、OOAAnalysis)、OODDesign,最基礎的自然是OOP。談到OOP則不能不談談OOP語言OOPL, Object Oriented Programming Language,面向對象編程語言)。

目前軟件業界存在三大主流OOP語言C++, Java, C#。其中以C++ 歷史最久,C# 年紀最輕。就演化而言,愈新的OOP語言理應有著對OO觀念的愈優秀支持(否則締造者該打屁股J )。這個事實的確展現在上述三大OOP語言身上。當然,關鍵字(keywords)的多寡,以及關鍵字背後的語言機制的底層實現技術,並不能夠總括一切價值 — C++, Java, C# 各擅勝場,各有主攻。

C#(及其背後不可不提的 .NET Framework)問世不算太久的今天,我很高興翻譯完成這部由知名作家Stanley B. Lippman所寫的《C# Primer的中文版。這是一本輕量級小書,以8400頁的篇幅介紹了C# 語法、OOP概念、部分 .NET FrameworkC#/.NET Framework環境下的Windows/Web程序開發方法、以及CLR(共通語言運行層)之中關於動態型別系統的一些技術內容。這些都是眾多C# 語言書很可觸及的主題,談不上獨特(第8章也許稍微獨特些)。本書也不是一本面面俱到的C# .NET Framework Library百科全書。

是的,這本書就是一碟小菜。作者以其個人在技術寫作上的豐富經驗,為讀者組織出一個容易親近、容易學習的架構,和一些有趣的樣例。

這是我個人翻譯過的第Stanley B. Lippman著作(前本是《C++ Primer》和《Inside the C++ Object Model和《Essential C++》)。Lippman的寫作向來有「大處著眼,小處不甚嚴謹」的特性,這個特性在本書依然存在。部分原因和C# 的年輕有關或者應該說主要和 .NET Framework Library的年輕有關!由於規格(spec.)上的變化,導致書中內容偶與目前最新版本有所出入。本書翻譯過程力求實際履踏書中樣例細節,並將驗證結果補充上來,彌補原書小節不矜的缺點,以及大環境激烈變動下的遺憾。當然啦,履踏工作很難保證滴水不漏。

本書由我和陳碩先生合譯。陳碩負責初譯與術語轉換,我負責其餘一切。中譯本(尤其是後半部)對原書有相當補充,以譯註方式呈現,這些全歸功於陳碩先生的勤奮和認真,以及游刃有餘的實務能力。書中亦偶而保留了對原書的某些勘誤標記,例如「原書有誤,已更改如上」等等說明,為的是方便可能的中英對照讀者,使他們不至於一時困惑。本書勘誤表由侯捷網站維護,網址見文末。

* * * * * * * * * * * * * * * * * * * * * *

對於從未踏入Object Oriented Programming(面向對象編程)領域的人們,任何一種OOPL都不易學習。因為相較於Procedural-Based Programming(過程編程),這是一種思考模式上的大扭轉。然而OO技術是大勢所趨,早進入勝過晚進入,晚進入勝過不進入。路途多艱,唯勤是岸。

對於已經擁有OOP經驗的人們,學習C# 則是件輕鬆不過的事。C++, Java, C# 三者的語法和編程概念,絕大部份彼此兼容。精一而通三,我常這麼說J

網絡論壇上,最容易引發眾多討論並且最容易撩撥民粹情緒的帖子,莫如侈言語言的優劣和前途。在Java, C# 相繼進入原本C++ 擅專的領域之後,這樣的討論不時可見,日復一日。在一個容許並承認多元價值的世界裡,這類口水之爭實在沒有意義,冗長而踴躍的發言涵蓋不了本質的蒼白。並非語言的比較沒有價值,而是語言的價值沒得比較

人們總是「就已知學未知」。我自己,身為一個對C++Java都頗有經驗的程序員,很希望看到諸如《C# for C++ programmers》或《C# for Java programmers》這樣的書籍,可使我這般背景的人,藉由不同語言的特性之間的專注比較,快速而印象深刻地掌握新技術。當然,我的這種背景涵蓋不了所有C# 學習者,《C# Primer自有其價值。

侯捷 2003.04.17 于臺灣新竹
jjhou@jjhou.com
http://www.jjhou.com
(繁體)
http://jjhou.csdn.net(簡體)

-- the end