譚浩強的 C 語言技術真很牛嗎?他寫過哪些厲害的程序?

書店網上全是譚浩強的教材。


他書里的代碼竟然不用等寬字體 。。。( ̄▽ ̄")


  譚浩強沒有編過什麼大程序,但這好像並不妨礙他能把計算機語言課講得很好,能把計算機語言書寫得生動活潑、深入淺出。寫書和編程序是兩碼事,C語言發明者親自操刀寫的那本C語言書可能是世界上最難懂的C語言書,這裡有一個角度的問題。

  譚浩強說:「任何人都要有自知之明,任何人都不可能是一個萬能科學家,也不可能什麼事情都比別人強。我做的只是入門性的工作,我並不是研究計算機系統的專家,也不是計算機軟體編程專家,我只是計算機教育專家。」

  譚浩強不愧為一個出色的黨政幹部,他不遺餘力地奔走呼號,宣傳計算機普及工作的意義,作為一個深諳宣傳之道的政治工作者,譚浩強很清楚只要自己的道理在一個角度上能站住腳,就不怕樹個靶子和它爭論,理不爭不明,最怕的是在寂寞中被遺忘。這和魯迅當年必須要《吶喊》是一樣的道理。

摘自譚浩強育人


void main() {}


譚老師的這本書的強大在於,把簡單的問題講複雜,把細枝末節的內容講成長篇大論,把複雜的問題一帶而過,學之前在好比白天在森林外徘徊,想想學好,能走出森林還有點小激動呢。沒成想學著譚老師的書,就好比進了森林迷路還碰到黑天,沉沒於無數格式符和語法細節中,好吧,各位看官,我的個人之見啊。。

------------------------------- 吐槽到此結束------------------

還好在「跑到森林迷路」的時候,找到了KR中R寫的一本C語言書,簡潔明快切中要害。自此開始逢譚必吐的評論。


  • 純粹以「知識點」的方式講解C語言是這本書最大的問題


看看

以其昏昏,使人昭昭?

你就知道老譚的書有多麼荒唐了

《品悟C》這本書中講解的錯誤90%都來自譚浩強的書


我推薦《c語言程序設計:現代方法》


譚浩強的C書在系內早就成被嘲弄的對象了。


他的書總是在關鍵的地方一帶而過,你要是有什麼地方不懂看幾遍也還是不懂。


很多人說這本書讓他c語言入了門,相信我,如果你只看這本書而且看懂了,那你c語言根本不可能入門。

這本書其實讓你花了無數多的時間去掌握了錯誤的語法,錯誤的實踐。考慮到小白們是一張白紙,要上兩次或者更多次c語言才能糾正回來。

有人說譚浩強一邊學c語言一邊寫書,頓時豁然開朗。一個人能犯那麼多初學者的錯誤本來就是很難相信的事情。

順帶譚浩強如果寫程序妥妥的被開除的水平。


譚浩強的C語言的書不是很好。強烈建議你看C語言之父里奇寫的《C語言設計》。這本才是經典!


我看的第一本 C 教程就是這本書 ...

我很感謝這本書 他教會了我

看書要認真

要能分清糟粕與精華

要勇於實踐並且分析解決書上沒有說明的問題

而不是一味地接受


我能說譚老師的這本書差點毀了我對C的熱情么……

讀完此書,完全不知編程為何物,

只是給你一個問題,再給你一個答案,然後告訴你應該記住什麼,如此反覆。

要看真正的好書還是去豆瓣上找吧!


譚先生年輕的時候是清華的校團委書記,後來是清華計算機系黨委書記。

他最有名的書是basic語言編程這本,全球銷量第一的技術書籍。

C語言這本是後來按照前一本的流程編寫的,這本書最大的問題不是在有多少錯誤,而是沒有能夠表達出C的簡潔的力量和美,我覺得這個是最大的遺憾。


題主是糾結該看哪本 C 的教材么?如果是的話,這個問題的答案其實並不重要。

學習一門語言不能只看一本教材,當遇到疑惑的時候就要跳出教材的限制,去網上找些資料來看。

我見過許多編程高手說自己是看譚的書入門的,非常推薦他的書;與此同時,也同樣有很多高手說看譚的書一輩子都學不會 C 。

這些人成為高手,難道僅僅是因為看了,或者沒看譚的書嗎?一本書能這樣大量發行,多少有它的優點,而能不能學會一門語言,教材並不是決定性因素,對於個人的不同情況也許更適合看不同的教材,但是即使沒找到最適合自己的教材,又有何妨呢?

時不時看到一些人說被xx的書毀了熱情之類的,要我說他們就這點熱情,隨便來點挫折就不行了,所謂xx的書只不過是借口罷了。


對象不同好壞自然不同。

對於剛剛進入大學沒有任何編程經驗的人來說用KR來入門實在太殘忍了。

而對於那些僅僅為了考試過二級的人來說譚浩強的C絕對是最佳教材。

所以,考慮一下自己是幹什麼的,再來評論吧。。。

對於沒有任何編程經驗又不僅僅是為了考試的人來說,我推薦《C prime plus》http://book.douban.com/subject/1457333/


只說書的話可以黑的地方太多了......

--------------------------------------------------------------------------------------------

不過,不能脫離時代看問題......

譚浩強寫c語言教材的時間是上世紀80年代,C89標準都還沒有出來,那時總共就沒多少中文的編程語言參考資料,有的那點也在學校和科研單位什麼的......

在這種環境下,他寫的c語言教材居然可以讓小學生(比如我)輕鬆讀懂學會,以當年的標準來說,可以算是水平很高的教材了......

其實,直到90年代初可以在新華書店裡面買到的c語言教材,或多或少都是相互參考或抄襲的,有錯誤和疏漏的地方大家都一樣,所以除非你有條件直接閱讀英文資料(那可是在沒有互聯網的年代哦),他的書還是很好的入門教材……

到了90年代中後期,要是你還是用他的書學編程,我覺得應該怪你的老師居然敢拿這書來教你,不應該怪人家譚浩強......

--------------------------------------------------------------------------------------------

要知道人家當年搞的是「計算機教育普及」,書是附帶的成果,並且書的目標讀者裡面本來就有要包含中小學生的哦,八九十年代那種英文辭彙量才幾百的小學生哦,main 都不認識的,printf 不知道是 print+f 的,就算知道了也不可能知道 f 代表 format 因為沒學過這個詞啊,例子裡面變數名如果不用 a, b, c 、 i, j, k 的話,他那400萬讀者(截至90年代)中,一大票人的編程之路就要斷絕在中小學階段了......

做下對比的話, KR 的書是70年代寫的,大家都說好,可最早的中譯本不也是2000零幾年才有的嗎......


個人覺得對譚老師的書還是有點話說的

當時初學編程,以為堂哥推薦我他的書,當時買來看看,覺得挺淺顯易懂,但是這本書我看了不下三遍,還是不會編程,我當時以為還是我書沒看透。

後來接觸《The C programming Language》個人感覺這本書非常棒,棒在哪裡?習題!看這本書不做習題等於白看。

但是我同樣不推薦新手入門用這本書,這本書對於初學者而言太難。建議看一邊老譚的書,明白C語言是怎麼回事兒,然後趕緊放下,看《The C Programming Language》這樣最好。

推薦先看老譚的書的原因是,這書非常簡單,你能很快明白具體概念,語法是怎麼回事兒,然後轉到《The C Programming Language》開始真正的學C吧。


譚的書建議就別看了,如果非要推薦一本的話,建議還是KR 的&<&&>,經典.


【中國神!】

科技分為創造-改進-模仿-無知四個層次,流行的編程語言大都是美國創造的。就技術含量而言,中國的作品遠遠無法和國外相比。譚浩強只是將我們從無知帶到模仿層次的一位入門導師而已,並且因為中國教材發行量大而出名。而且具有時代性,早期有資料就很逆天了哪裡還管可讀性(那時沒有互聯網沒有任何國外著作公開發售),能引入資料的人就是神!!!拿現在的國際大師巨作與之對比是不恰當的,因為譚老師的地位是作為中國的教育領域的開拓者,而中國也沒有可以創造語言的大師。

【趁早!】

所以說成名要趁早,任何領域最早進入的都值得尊重,而且也最容易成功。馬雲比中國人早幾年去美國看到了互聯網和電子商務的威力,就成就了阿里巴巴。馬化騰早期在家裡自費搞撥號服務,是國內最早搞接入的幾個發燒友(還有一個是丁磊)。據說貢獻了很多話費,讓別人打長途電話到他家,實現聯網,一個人斷線另一個人才能上。這是當時中國最先進的「互聯網」,你沒有聽錯全國只能一個人上,後來多加貓以後可以四到八個人上,馬化騰買了好幾台電腦。前後花了幾十萬,純屬興趣。還有,這種撥號不穩定,純文字界面主要是BBS,而且最高速度就只有幾K。這種設備現在看起來很原始,但這才是QQ的起源,而不是大家看到騰訊莫名其妙的崛起了。


推薦閱讀:

為什麼printf("%ld
", -2147483648/1000000000);得到的結果是2而不是-2?

在計算機語言發展歷史上,C語言和C++語言分別有怎樣的歷史意義?
為什麼C語言中2個無符號數相減會得到負數?
c++中有些重載運算符為什麼要返回引用?

TAG:C編程語言 | 譚浩強 |