C語言之四書五經
作者:乾坤一笑
C語言教學早就進入了我國各大高校的教程,但是大家對它的認識以及重視程度還很是不夠。很多人認為C語言無非是一種教學語言,是一種工業語言,它很老了,該淘汰了,比不上VC++、Java、C#等新興語言牛B,所以不是很重視C語言。我認為,這些朋友是受了某些輿論的誤導才會有此看法。C語言是各大作業系統的基礎,Unix、Linux、Windows其核心都清一色是C語言開發的,(某些地方是和組合語言混合開發的),君不見Windows API都是C語言函數的介面?Unix/Linux絕大多數應用都是C語言開發的;Windows應用程式用純API開發已然不多,大多都是依靠某種Application Framework,比如所謂的VC++,其實就是指VC IDE + C++語言 + MFC(現在重點已轉向ATL、WTL),但是Windows服務、網路、驅動程式等底層軟體,還是C語言開發的。各種語言的編譯器,包括java虛擬機器,都是用C語言開發的。各種嵌入式裝置,如手機、PDA也都是C語言開發的。C語言曆史悠久,其內容也絕非譚浩強老師的《C語言程式設計(第二版)》所描述的那麼簡單——那本書只是針對中國國情的教學入門書而已(並且很多地方都不符合ISO C 99標準了)。
論壇中很多還是高校的學生總喜歡問:那種語言好?學那種語言有前途?這種問題天天在討論,永無休止。其實我覺得大家所關心的,無非是那種語言更有“錢途”,學習那種語言畢業後能夠輕鬆找到高薪的工作——當年我也是這麼想。那麼,在這裡我要給這些朋友吃一劑定心丸了——C語言大有應用市場,國內知名的四家電信製造企業巨龍、大唐、中興、華為(簡稱“巨大中華”,如果你對此四大家耳生,我勸你應該google一下學習學習了)無不熱招C開發人才;各大外資、世界500強資訊產業亦是如此(去51job.com上查查就明白了)。只要你精通C語言,即使你不瞭解C++等其他語言,找到高薪工作也是輕鬆得很。
為什麼我如此推崇C語言,而對C++語言尚未提半字?一方面受本篇題目的限制(偶不能跑題呀),另一方面,我認為C語言比C++好學得多,學習成本也很低。為什麼這麼說?下文中所列舉的4部C語言經典巨著,平均每本定價不到40元,如果你依次把它們學透了,那就夠了,不需要再買C語言書了(事實上也沒什麼其它書好買了)。下一步就是從實踐中學真知了——一方面從工程項目中鍛煉,另一方面從分析老外源碼(比如linux源碼、GNU源碼等)中提高,功夫下到,收穫自然來。而C++語言,拿我自己來說,買書投入的資金已經超過千元了,也認真學習了1~2年(時斷時續)了,終究對標準C++文法徹底理解的部分佔不到40%。引用vckbase論壇一大牛“七貓”兄的話說:“我不打算再往C++書上投錢了”,那簡直是無底洞。從另一方面說,這幾本C語言經典巨著,對於學習C++的PO、OB設計也是很有協助的(PO、OB應該算是C++的基本功了,PO指的是Procedure Oriented, OB指的是Object Based);國外的頂尖C++高手,往往也是C語言高手。
好,羅嗦了這麼,下面就介紹C語言的幾本經典之作。另外BTW一句:很多朋友一定會問:為什麼我們學校不用這些書做教材?這個問題就很難回答了,我覺得你應該致電國家教育部、或你們學校教導處詢問,人家自然會給你個說法。:)不過有一個原因大家都能理解,(冒死說句大不敬的話),教這些書估計你的任課老師未必罩得住,也說不準。:) 因為這些都是國際上Hacker級的巨著呀。(看我多大方,把我的所知毫無保留的都傳授給你了:p)
依據我給出的順序,你應該很容易自學這些書(均有中文譯本,此處給出的都是中文版的資訊,在各大電子科技書店都應該買得到):
一、The C Programming Language
C程式設計語言(第2版·新版)
原出版社: Prentice Hall PTR
作者: [美]Brian W.Kernighan,Dennis M.Ritchie
譯者: 徐寶文 李志
書號: 7-111-12806-0
頁碼: 258
開本: 16開 版次:2-1
叢書名: 電腦科學叢書
出版社: 機械工業出版社
出版日期: 2004-1-1
定價: ¥30.00
二、Pointers on C
C和指標
原出版社: Pearson Education
作者: Kenneth A.Reek
譯者: 徐波
書號: 7-115-11456-0
頁碼: 450
開本: 16開 版次:1-1
叢書名: C和C++實務精選
出版社: 人民郵電出版社
出版日期: 2003-9-1
定價: ¥55.00
三、Expert C Programming
C專家編程
原出版社: PH PTR
作者: Perter Van Der LinDen
譯者: 徐波
書號: 7-115-10627-4
頁碼: 291
開本: 16開 版次:1-1
叢書名: C和C++實務精選
出版社: 人民郵電出版社
出版日期: 2002-12-1
定價: ¥40.00
四、C Traps and Pitfalls
C陷阱與缺陷
原出版社: Addison Wesley
作者: Andrew Koenig
譯者: 高巍
書號: 7-115-10623-1
頁碼: 172
開本: 16開 版次:1-1
叢書名: C和C++實務精選
出版社: 人民郵電出版社
出版日期: 2002-11-1
定價: ¥30.00