作者:林建入
一些同學(xué)學(xué)不好C語言,把罪責(zé)歸于“因為教材是譚浩強寫的”實在是很滑稽。
譚浩強老先生 1934 年生,現(xiàn)在已經(jīng) 80 歲了。他 1958 年從清華大學(xué)自動控制系畢業(yè),那年 24 歲。要知道 C 語言那時候都還沒誕生,計算機都是大型機,原始又笨重,當(dāng)時譚浩強學(xué)自動化控制這一專業(yè)可以說是比較尖端的。光從這一點上,就可以說,他是同時代人里非常非常聰明的那一類人。
現(xiàn)在許多人批評譚浩強的《C 程序設(shè)計》的一個重要理由是“不符合C99標準”。但我們要知道 Dennis M. Ritchie 在 1972 年才推出 C 語言的第一個版本(當(dāng)時譚浩強 38 歲),那時的 C 語言并不成熟。事實上 C 語言的第一次標準化一直到 1989 年才完成(俗稱C89),請注意那時候譚浩強已經(jīng) 55 歲了!
55 歲,你退休了沒?
而更重要的是,1989 年那個時候,互聯(lián)網(wǎng)的發(fā)展即使是在全球來看,也是非常非常初級的,更別說國內(nèi)。因此信息獲取的渠道極其狹窄。舉個例子大家就能明白,我們現(xiàn)在瀏覽網(wǎng)頁所用的萬維網(wǎng)協(xié)議,就是在 1989 年那一年,由當(dāng)時在歐洲粒子物理實驗室的Tim Berners-Lee和他的同事一起發(fā)明的。
也就是說,一直到譚浩強 55 歲退休的時候,C 語言才剛剛完成了第一版本的標準化,而整個世界的互聯(lián)網(wǎng)甚至還不支持通過瀏覽器來瀏覽!
時間再往后十年,到了 1999 年的時候,C99 標準終于問世。但因為這一標準比較新,大部分編譯器還不能支持其中的許多特性。因此大部分沿用的還是 C89 的特性。在這樣的背景下,第二年,譚浩強的《C 程序設(shè)計》出版了,而這一年,譚浩強已經(jīng) 66 歲了。
拋開譚浩強 66 歲依然寫作這一點不談,若是站在當(dāng)時的背景下來看待,事實上這本書也還是可讀,可學(xué),有價值的。但軟件行業(yè)發(fā)展飛快,現(xiàn)在高校若繼續(xù)沿用這一教材,就不合時宜了。
譚浩強的《C 程序設(shè)計》這本教材好不好?現(xiàn)在的觀點來看當(dāng)然不好。現(xiàn)在想學(xué)習(xí) C 語言的人,不推薦采用他的書。但這主要是因為軟件行業(yè)發(fā)展快速,他的書籍內(nèi)容較老導(dǎo)致的。我們可以就書論書,但有些不明就里的同學(xué)從書出發(fā)指責(zé)譚浩強“不懂編程,水平低”等等,就是不對的了。