譚浩強老爺子的《C程序設計》是坑?來看看網友們的說法!

他,是誰?

譚浩強教授,我國著名計算機教育專家。

1958年畢業於清華大學自動控制系。

青年時期曾擔任清華大學學生會主席、北京市學聯副主席、北京市人大代表、全國文教戰線先進分子。

他是我國計算機普及和高校計算機基礎教育的開拓者之一。

現任全國高等院校計算機基礎教育研究會榮譽會長、教育部全國計算機應用技術證書考試委員會主任委員,享受國務院政府特殊津貼。

曾獲國家科技進步獎、國家級教學成果獎,被原國家科學技術委員會和中國科學技術協會表彰爲“全國先進科普工作者”,被北京市人民政府評爲“北京市有突出貢獻的專家”。

他在CCTV講了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七種計算機語言,觀衆超過500萬人。

譚浩強教授善於用讀者容易理解的方法和語言說明覆雜的概念。

許多人認爲他開創了計算機書籍貼近大衆的新風,爲我國的計算機普及事業作出重要的貢獻。

21世紀初,被《計算機世界》報組織的“世紀評選”評爲“我國20世紀最有影響的十個IT人物”,被《電腦報》評爲“我國十大IT人物”,他的功績是把千百萬羣衆帶入計算機的大門。

然而,從很久以前開始,他所著的《C程序設計》就一直被吐槽不斷。

這本書幾乎是每個程序員必經的“童年”。

這本書已經出到了第五版。

▍那麼這究竟是爲什麼,大家會說這本書是坑?

1、這本書本身存在很多語法錯誤,主要是理解或者版本更迭沒有及時更新造成,中國大學裏面很多教材更迭相對偏慢。

隨着計算機軟件領域的飛速發展,現在這本書因爲內容比較老,可能已經不太適宜做教材。

另外,這本書還是翻譯過來的,語言差異加上翻譯上理解的偏差,造成書中部分語法和概念確實有一定的問題。

甚至在網上,你還可以看到諸如《譚浩強<C程序設計>錯誤不完全彙集》的整整50頁的糾正文檔。(基於第四版的糾錯,第五版已修復大部分)

某乎還有人整理出了長長的錯誤列表……

2、內容過於老舊,甚至有些程序內容都無法運行,當然這是編譯器支持不同的C標準造成的。

這本書甚至大學許多教師的編譯環境還是turbo C,這個老古董已經非常過時了,顯得這本書非常的low,欠缺與時俱進。

但是此書確實更新速度比較慢,在2000年以後出的版本仍然支持的是C89標準。

3、後期高質量的書非常多,排版也非常清晰,比如說《C Primer Plus》幾乎可以取代這本書,但譚老這本書仍然還是作爲大學的教材主力。

4、有的人表示這本書難度太高了,主要是內容設計有關。開篇的內容對於剛接觸C語言的人來說確實具有一定的難度,讓不少人望而生畏。

其實最令我印象深刻的是:i+=(++i)+(i++)這種類型的代碼。我相信你肯定見過且做過,直到現在仍有不少人爲之苦惱,其實此類代碼的來源就是這裏。我們講理論目的是指導實踐,但是這種堆疊式地靠運算符優先級的寫法真的意義不大,實際工程中代碼的目標是簡單易懂且有效,難道僅僅是爲了考察運算優先級?

其實不僅是計算機教材,還有更多的比如線性代數教材、專業課教材、教學用到的軟件,全都缺乏更新。

▍網友們現身說法

一位網友表示,有一位好心學長將譚先生的《C++程序設計》借給了我,這幾乎直接導致了我現在還不會編程。

譚書中的錯誤已有無數人吐槽過了。我自己的一個栗子:當年跟着這本書學的#include "xxxx.c"。

說穿了就是:譚根本沒有C的實際開發經驗,只知鑽語法的牛角尖。而C恰恰是—門存在着很多“語法上不算錯,但實際不能這麼寫”的語言。譚的書給初學者很多這樣的誤導。

我覺得,譚浩強書最大的優點就是特別容易懂(剛看有的答主和我的看法完全相反啊。。。),我指的易懂是指看他的書能很容易的自己寫出正確的程序(至於代碼風格不好,至少不是錯誤)。

當然,他的書缺點也是很明顯的。首先(也是我覺得最主要的問題)就是不講原理。他能很快教會你怎麼去寫程序,但不告訴你爲什麼要這麼寫(和他前言說的不一樣啊。。。)

通過學習他的書,我編程的能力對付一般問題應該沒有問題。當時C++考試成績應該在專業裏前三,C++項目實習是第一(實現了很多項目沒有要求的功能老師還給附加了分)。

對於噴,我想這是不可避免的,知名度越高,噴的人越多。噴與不噴,那是個人的自由。適合自己最好。

不可否認,他的C語言教材在國內用的最廣。既然有那麼多人用,那麼它就一定有他自己的優點。

等等諸多......

 

▍這本書實際上培養了一大批的人

以前在計算機領域可以借鑑的東西很少,可以說正是這樣的書籍,以詳細的講解和通俗易懂的風格,培養了一大批的基礎紮實的人才,纔有了之後的網頁和動畫,有了衆多的可參考的資料,這些貢獻都是不可磨滅的。

譚浩強生於1934年,58年從清華畢業,那時候C語言還沒有問世。在久遠的過去條件下,寫出這麼一本編程入門教材實屬不易。

而值得注意的是,是多年來大學教材質量並沒有明顯改進所以,現在就是很矛盾。批評教材的主要意見其實是對的,但是在細節部分很容易受到反駁。

造成這種矛盾的主要原因,因爲批評搞錯了對象,結果是意見不能集中,越說越亂。現在的主要矛盾,是教材的編寫方式陳舊、脫離實際,且長期得不到更新。

這個問題不僅僅發生在計算機課程領域,也不必把這個黑鍋背在“譚浩強”身上。一本小說寫的好,看的人就多,寫的爛,看的人就少,這是顯而易見的。某作者寫的教材好,就採用;寫的爛,就不用。

老譚作爲早期的佈道者已經做出了不可磨滅的貢獻,僅此一點就值得致敬。


如果你想要獲取更多C語言、C++、Windows以及QT的知識!

這裏有一個C/C++編程學習交流俱樂部~傳送通道:【

還有編程學習文件(源碼,項目實戰教學視頻以及給小白的零基礎教程),歡迎初學者和正在進階中的小夥伴們!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章