當前位置:首頁 > 公眾號精選 > 嵌入式微處理器
[導(dǎo)讀]他,是誰? 譚浩強教授,我國著名計算機教育專家。 1958年畢業(yè)于清華大學(xué)自動控制系。 青年時期曾擔任清華大學(xué)學(xué)生會主席、北京市學(xué)聯(lián)副主席、北京市人大代表、全國文教戰(zhàn)線先進分子。 他是我國計算機普及和高校計算機基礎(chǔ)教育的開拓者之一。 現(xiàn)任全國高等院


他,是誰?

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


1958年畢業(yè)于清華大學(xué)自動控制系。

青年時期曾擔任清華大學(xué)學(xué)生會主席、北京市學(xué)聯(lián)副主席、北京市人大代表、全國文教戰(zhàn)線先進分子。

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

現(xiàn)任全國高等院校計算機基礎(chǔ)教育研究會榮譽會長、教育部全國計算機應(yīng)用技術(shù)證書考試委員會主任委員,享受國務(wù)院政府特殊津貼。

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

他在CCTV講了BASIC,F(xiàn)ORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七種計算機語言,觀眾超過500萬人。

譚浩強教授善于用讀者容易理解的方法和語言說明復(fù)雜的概念。

許多人認為他開創(chuàng)了計算機書籍貼近大眾的新風(fēng),為我國的計算機普及事業(yè)作出重要的貢獻。

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

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


這本書幾乎是每個程序員必經(jīng)的“童年”。

這本書已經(jīng)出到了第五版。

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

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

隨著計算機軟件領(lǐng)域的飛速發(fā)展,現(xiàn)在這本書因為內(nèi)容比較老,可能已經(jīng)不太適宜做教材。

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

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


之前嵌入式ARM曾推送過的文章《你有沒有想過,C語言 main 函數(shù)到底為啥這么寫?》中,許多人會錯寫成void main()的形式,其實就是早期譚老未更正教材的錯誤之一。

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


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

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

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

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

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

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

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

網(wǎng)友們現(xiàn)身說法

一位網(wǎng)友表示,有一位好心學(xué)長將譚先生的《C++程序設(shè)計》借給了我,這幾乎直接導(dǎo)致了我現(xiàn)在還不會編程。

知乎上的人也有人現(xiàn)身說法:

孫濤表示,我是物理專業(yè)的,當初啟蒙就是這本書。說的嚴重點,這本書配合一個半吊子老師幾乎毀了物理系所有人對編程的信心。造成的心理陰影直到畢業(yè)才逐漸消除。當初學(xué)c語言,大家感覺奇難無比,毫無頭緒,要花大量時間研究特sb的知識點,比如i++++i。那個老師是教物理實驗的,對c語言沒什么理解,照本宣科而已。每節(jié)c語言課我要先預(yù)習(xí)兩個小時,然后再復(fù)習(xí)兩個小時,勉強能把書上奇奇怪怪的“知識點”搞清楚。當時剛上大一,不知道怎么自學(xué),也不知道有什么好教材。越不懂越去研究譚浩強的書,然后就更蒙圈,惡性循環(huán)。

曾一度懷疑自己智商有問題,后來覺得不應(yīng)該啊??傊敃r覺得這門課是難到天上去了,考完之后再不想碰。其實c語言比大多數(shù)物理課都簡單不少。我的很多同學(xué)也是對這門課很厭惡,逃避。后來即使在物理實驗中遇到需要編程處理數(shù)據(jù)的,也是能逃就逃。整個轉(zhuǎn)行系(物理系)畢業(yè)后鮮有人從事編程相關(guān),絕對和這次打擊有關(guān)。到現(xiàn)在大家才慢慢緩過來,開始學(xué)習(xí)其他編程的東西
敖廠長有一期節(jié)目說的是雅達利出品的《外星人ET》游戲直接毀滅了美國的游戲機產(chǎn)業(yè),直到微軟xbox才復(fù)興。

譚浩強c語言教材對我的打擊不亞于這個。譚浩強也算是中國計算機教育的先行者了,教材錯誤多,過時了,也不能怪他頭上。但是他在書里吹牛逼就不對了,成天發(fā)行量破幾千萬!各個大學(xué)也是不思進取,直到現(xiàn)在還在用他的教材。vc++6.0,二級考試,譚書,都可以稱得上是毒瘤了

假藥郎中表示,應(yīng)該說有兩個原因:

1. 這是本爛書。

2. 作為一本爛書,卻借著譚的所謂權(quán)威名頭,年復(fù)一年地禍害一代又一代的學(xué)生——這才是最令人憤怒的!

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

說穿了就是:譚根本沒有C的實際開發(fā)經(jīng)驗,只知鉆語法的牛角尖。而C恰恰是—門存在著很多“語法上不算錯,但實際不能這么寫”的語言。譚的書給初學(xué)者很多這樣的誤導(dǎo)。

譚的成名是因為當年在電視上講的BASIC課程,在那個資料匱乏的年代,應(yīng)該說譚的課程在計算機教育的啟蒙普及上起到了作用。但實事求是的講,譚當年的這些課程,也就好比一個閉塞山區(qū)里的鄉(xiāng)村教師自己編的土教材,在沒有更好的選擇下聊勝于無。但隨著社會的巨大進步,后來已經(jīng)有更多更好的教材可用,他早該退出歷史舞臺。那樣的話,也許他的歷史形象更令人尊敬。而多年以來,他的書依然憑借行政權(quán)力倚老賣老地霸占著全國那么多的學(xué)校,大言不慚的標榜“銷量千萬”,這就很無恥了,讓人鄙視也不為怪了。

邢志鵬表示,國內(nèi)大學(xué)生的普遍思想,大學(xué)課本教材都是廢物,凡是大學(xué)的教材,都是應(yīng)付考試的。在這種提前下,老譚的書就不能幸免了。

其實很多人噴老譚的書都是以訛傳訛,看到很多高手都噴譚浩強的書,然后自己也要鄙視一下譚浩強的書,來顯得自己也是高手一樣。這種人看到誰在看老譚的書就會說一句,這種垃圾書也看,哥看的都是國外的經(jīng)典。下次遇到這種人,你就讓他不查資料,自己直接找老譚的書上的錯誤,能找出多少。找不出就別噴好嗎。

老譚書上類似i++++i這種代碼,確實實際代碼這么寫不合適,但是作為初學(xué)者,這是通過這種方式教你在理解優(yōu)先級,通過這種拗口的方式可以理解的更加徹底,我覺得沒問題。就像小學(xué)數(shù)學(xué)課的應(yīng)用題。舉個例子,池子一邊裝水,一邊放水,求水多久能裝滿池子。難道也要噴一下什么鬼題目,浪費水。這明明就是考的對題目的理解,又不是真讓你去做個實驗。一個道理。

我上大學(xué)的時候就是看這本書自學(xué)的,思想很單純,認準了這本書,就好好學(xué)。我感覺譚浩強的書絕對適合入門,學(xué)東西最重要的難道不是入門嗎,老外很多書確實經(jīng)典,但是不適合入門,那就不能推薦給初學(xué)者,那樣只會害了他們。很多人都是看了老譚的書,對C已經(jīng)有了一個概念以后,再去看那些書顯得很從容,但是如果沒有一個基礎(chǔ)直接看那些書,未必看得懂。

我相信很多噴老譚的程序員是通過譚浩強的C入了門,那就請你不要噴老譚了。更加鄙視那些通過抨擊老譚抬高自己的人。在譚浩強那個年代學(xué)計算機的,都是聰明人,別的不說,想學(xué)計算機身邊連本書都找不到,哪像現(xiàn)在各種書泛濫,網(wǎng)上各種教學(xué)視頻。那個年代學(xué)好計算機除了要聰明,也一定要有毅力?,F(xiàn)在的學(xué)生以為自己會寫幾句代碼一個個都上天了,以為自己比譚浩強這種老古董要聰明不知多少,可笑!

郭靖的故事大家都知道。他的啟蒙老師江南七怪,教他學(xué)會了功夫。但是真正讓他成為大俠的是洪七公,后來他的功夫已經(jīng)遠遠超過了江南七怪,但是他還是那么的尊敬他們,而沒有半點瞧不起他們,因為沒有江南七怪,郭靖也許就不會有后面的故事。我這個比喻也許非常不恰當,沒有譚浩強一定有別的書代替。不過我依然認為初學(xué)者可以看看老譚的書,至少他適合入門,如果你覺得他的入太抽象難懂了,我只能說要么你沒用心,要么就不適合編程。

Hanson表示,現(xiàn)在黑譚浩強的簡直是比比皆是。我覺得對于他的教材應(yīng)該客觀的評價。(吐槽一句,現(xiàn)在跟風(fēng)的實在太多了,別人說什么他們立馬附和,黑譚浩強書的人里面也有不少這樣的人,估計好多黑他的人還不知道為什么黑他。。。)

不可否認,他的C語言教材在國內(nèi)用的最廣。既然有那么多人用,那么它就一定有他自己的優(yōu)點。

我覺得,譚浩強書最大的優(yōu)點就是特別容易懂(剛看有的答主和我的看法完全相反啊。。。),我指的易懂是指看他的書能很容易的自己寫出正確的程序(至于代碼風(fēng)格不好,至少不是錯誤)。我開始接觸C語言是在大概初二的時候,當時我第一本書買的就是第五版譚浩強。對于我們西北的這些信息弱省來說,初中那會大部分學(xué)生還不知道編程是什么。以此為背景,他的書能讓我在完全沒有基礎(chǔ)的情況下幾個月里學(xué)會C語言,易懂性是值得肯定的()。

當然,他的書缺點也是很明顯的。

首先(也是我覺得最主要的問題)就是不講原理。他能很快教會你怎么去寫程序,但不告訴你為什么要這么寫(和他前言說的不一樣啊。。。)。這種寫法更適合那些非計算機專業(yè)的學(xué)生(當然主要指學(xué)渣,學(xué)霸們請忽略這條),但對于真正學(xué)C語言的同學(xué)來說,就顯得不足,對后續(xù)的學(xué)習(xí)應(yīng)用也可能會埋下不小的麻煩。

其次是大家吐槽較多的代碼風(fēng)格和小錯誤(個人覺得第五版里錯誤已經(jīng)不怎么常見了,至于風(fēng)格,好吧,的確不怎么樣)。

再有,就是個別地方講的有些然,沒講透。

(具體例子大家可以參考一下其他答案,有的列出不少,我就不重復(fù)列出了。不過說一點,有的錯誤是在特定版本的書里才出現(xiàn)的,看了一下其他答主找的大部分來自第四版,這些錯誤有的已經(jīng)改正,但很多也還在,尤其是有些地方?jīng)]講清的問題,大部分在第五版仍存在)

Zhu xiangping表示,我覺得很好,我當時學(xué)C++就是用的他的書??此臅屛腋杏X最舒服的是每當我看到一處知識產(chǎn)生了疑問然后我再往下看就看到他提出了相同的問題并作出了解答。有很多次這樣的體驗,我覺得這只能是一個教學(xué)經(jīng)驗豐富的老師才能做到。

通過學(xué)習(xí)他的書,我編程的能力對付一般問題應(yīng)該沒有問題。當時C++考試成績應(yīng)該在專業(yè)里前三,C++項目實習(xí)是第一(實現(xiàn)了很多項目沒有要求的功能老師還給附加了分)。后來做通信實驗,嫌手動采集處理數(shù)據(jù)麻煩,我還寫了個小軟件來實現(xiàn)數(shù)據(jù)采集處理的自動化。當然這對于那些代碼大牛來說應(yīng)該是小菜一碟,但是當時我就在學(xué)校開C++時學(xué)過程序語言,其余時間基本沒有寫過代碼。后來接觸了幾種其他計算機語言,我能很快上手。我想這要歸功于當時C++的學(xué)習(xí)。

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

▍這本書實際上培養(yǎng)了一大批的人


以前在計算機領(lǐng)域可以借鑒的東西很少,可以說正是這樣的書籍,以詳細的講解和通俗易懂的風(fēng)格,培養(yǎng)了一大批的基礎(chǔ)扎實的人才,才有了之后的網(wǎng)頁和動畫,有了眾多的可參考的資料,這些貢獻都是不可磨滅的。

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

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

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

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

為什么寫的不好還要強制統(tǒng)一使用呢?教材的選用還未得到足夠重視中國的“211高?!庇?00多所,培養(yǎng)的老師數(shù)不勝數(shù),其中應(yīng)該有相當數(shù)量的老師有寫出好書的實力。就算老師不會寫,市面上也已經(jīng)有好多本優(yōu)秀的國外教材,提供了較新的編寫思路可供參考。但是目前已經(jīng)普遍反映出,大學(xué)教材停止了迭代,更沒有有效的、與時俱進的質(zhì)量把控。強烈希望各個大學(xué)從教材出發(fā),做好教書育人的本職工作。

無論怎么吐槽,一個人編程水平的高低和所在大學(xué),使用的什么教材都沒有太直接的關(guān)系,很多人在網(wǎng)上買編程教材一定想著買個最新版本的,其實完全沒有必要,這些都是客觀因素,主觀因素才是關(guān)鍵,真要想學(xué)的好,什么教材都玩的轉(zhuǎn),取決于內(nèi)在的意識形態(tài),驅(qū)動力不夠有再好的教材也是浪費資源,無論怎么說老譚對于中國計算機行業(yè)的貢獻還是非常突出的,感激的心情更多點。

現(xiàn)在還有很多的論調(diào)包含的大致意思就是C語言現(xiàn)在已經(jīng)不行了,完全沒有必要再去學(xué)習(xí)了,看看招聘職位關(guān)于C語言的真是少的可憐,現(xiàn)在明顯的都在向高級語言進發(fā)了,大趨勢是向集成化程度高的語言前進,但是集成化語言本身很多都是C語言完成的,未來可能C語言學(xué)習(xí)的會變少,但是職位要求以及薪資水平會高的讓普通程序員都只有羨慕的份,物以稀為貴,這也是市場規(guī)模。踏踏實實學(xué)好正在學(xué)習(xí)的編程語言,把精力放在語言本身,而不是去爭論誰好誰壞,即使分出個高低了對于個人又有什么直接好處,認準一種編程語言一直學(xué)到最后,然后想辦法過度到別的語言,觸類旁通。

老譚作為早期的布道者已經(jīng)做出了不可磨滅的貢獻,僅此一點就值得致敬。

【參考資料】
1、知乎 . 《為什么說譚浩強的書是坑?》
2、佚名 . 《怎樣評價譚浩強版<C程序設(shè)計>?》
3、佚名 . 《為什么這么多人不喜歡譚浩強的C語言程序設(shè)計?》


-END-




推薦閱讀



【01】計算機技能需求新排名:C語言僅排第 8,第 1 名你想不到!
【02】絕對有趣!利用C語言編寫打印彩色字符,還能閃爍!
【03】C語言之結(jié)構(gòu)體就這樣被攻克了?。ń^對值得收藏的文章)
【04】簡單粗暴!最全C語言筆記,轉(zhuǎn)給身邊需要的人吧(多圖預(yù)警)
【05】單片機開發(fā)之節(jié)省內(nèi)存大法(C語言版本)



免責聲明:整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除

免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉