千萬別看譚浩強的書

2022-11-20 01:15:03 字數 4792 閱讀 2013

千萬別看譚浩強的書.txt24生活如海,寬容作舟,泛舟于海,方知海之寬闊;生活如山,寬容為徑,循徑登山,方知山之高大;生活如歌,寬容是曲,和曲而歌,方知歌之動聽。廣大有志於從事it行業的同志們,在你們進入這一行之前千萬請看這篇文章!

太經典了!對你絕對有啟發!

千萬別買譚浩強和等級考試的書!!!!!!

整理別人的言論,請大家踴躍討論

1:書皮上面有那麼多的牛人題詞,估計也許是自己的水平太低。

2:ansi只給了兩種方式:

int main(void

和 int main(int argc, char *ar**

其它的形式都是不標準的,屬未定義行為,老潭就好這個。

3:如果你有興趣,不妨查查近二十年來老譚寫過的書。老先生的主要作品是:

basic語言教程、c語言教程這兩種書。他的書現在的版本與十年前的相比,多少也有點「與時俱進」,根據語法變化做了點修改。但是改不掉的是他那種糟糕的編碼風格、好鑽「未定義行為」在某種編譯環境中的具體表現的牛角尖而且頗為自已能用很多篇幅討論這樣無聊的問題而沾沾自喜的性格,以及對程式設計中很多方面的錯誤理解和解說。

有意思的是,這兩種書他前後大概各出過

七、八本——在不同的出版社、用不同的書名、列入不同名稱的從書系列,而且它們面向的都是初學者這個讀者群體。如果說一本書出版了

六、七年後,在出新版本的時候他打算找另外一家出版社出,這倒無可厚非。問題在於,現在他是在兩、三年時間內會在不同的出版社用不同的名稱(有時乾脆就是相同的)出幾本內容基本相同的初級程式設計教材。說刻薄點,他的這種乾法只能解釋為:

老先生自知來日無多,要趕緊把貶值速度如同老蔣逃離**前夕的國民**法幣的「譚浩強」這個無形資產盡可能多的套現,以為子孫多積攢點遺產。

說句公道話:老譚雖然水平不高,但是在中國計算機教育的早期他的確作出了不少貢獻。因為那時全國上下懂計算機的人很少、總體水平極低,所以以老譚之碌碌,仍能對大夥有所幫助。

但是人貴有自知之明:你的時代已經過去了,你就應該知趣地退在一邊看年輕人的表演。這方面王選先生就很值得學習。

王先生自已說過:在 90年代初的時候他就深切地體會到自己對新技術的學習和掌握已經趕不上身邊的年輕人了,所以他自覺退出科研一線,讓有能力和活力的年輕學者挑大樑。反觀譚先生,不但隔個一年半載的就要把他那泛黃的書稿拿出來撣撣灰、改幾個字,然後找家出版社出版,而且,他老先生還成立了乙個所謂「譚浩強工作室」,組織一夥寫手寫了一批同樣的碌碌之作——其中某些書涉及的領域,相信譚先生自己恐怕知之甚少。

以王選先生之學識和名望,尚知其力有不逮。老譚,你為什麼不慚愧?!

4:建議老譚好好看看the c programming language,好好學學c語言。

我最煩學生拿著他書裡乙個語句裡面好多++的問題來問我。

我不教c語言,只教c語言版資料結構,發現計算機專業沒有乙個c語言學得好的學生,對此很無奈。都是老潭的教材鬧的,我發現凡是c標準上說的is undefined老潭討論起來就特別來勁。

5:老譚後面的寫的也是漏洞百出的。例子程式也是臭不可聞的,有些編譯不過去(例如把不同的指標型別用等號賦值,用過c的人都知道不同型別的指標在賦值前需要進行轉換,c標準裡也規定了),有些執行不了(例如老譚改字串常量的值),不知道他寫完書有沒有把書上的例子程式設計序試一下。

還有老譚跟本就沒寫過或者閱讀過20行以上的程式,書中的許多東西都是老譚想當然之作,有些地方想法很幼稚。所以請大家不要和這個沒寫過程式的人學程式設計了。

6:這位譚教授涉獵頗廣,從c,basic到網頁製作、word應用可以說應有盡有,譚甚至主編過一本如何使用windows 98的書,比如如何用畫筆程式畫畫,也許7-11歲的孩子們會喜歡,對此我非常理解,因為這些書的發行量很大,可以賺很多錢,只是,在你決定買他的發行量達400萬的《c程式設計》時,是否應該考慮一下,會不會有其它更好的選擇。

7:程式設計風格在軟體工程中影響到編寫乙個程式的效率,程式公升級時候潛在的隱患,別人能否正確理解你的程式...等等很多方面.

打個比方,乙個函式void f()括號中沒寫void 那麼根據k&r的風格它可能是有引數的,而根據美國c的風格它就是沒引數的.顯然不同風格對這個函式理解不同.所以void f()這種歧異風格是以後軟體公升級和軟體管理的隱患.

又好像 goto語句,任何一本外國的書都會嚴重警告讀者不要使用.何故?因為編寫大程式時候這種原始控制流語句會破還程式的執行.

當然,如果你學c語言只是為了考試,那麼當然感覺不出goto 有何缺點,因為你只需要寫幾行的**而不是真正開發程式!總之當今軟體產業最大的耗費資金不是軟體開發而是軟體維護!如果你1年前編寫的程式如果風格不好,那麼可能一年後你自己想公升級軟體時的難度相當於重新構想該軟體了!

公升級這軟體的任務由別人來承擔時這就更不用說有多難了.

譚浩強更差的地方是沒有在書後給出一些程式設計經驗和警告.這無疑使初學者學習事陪功半.對比國外好書 ,每章後面除了經驗和警告外還會又系統相關性,這對於c這類系統相關語言是很有必要的.

譚浩強的書講解也很不透徹,例如什麼是標頭檔案就放到函式那章才提及,大概已經是第八章了.但外國的好書都是從一開始就講標頭檔案是什麼,這更有助於讀者理解.國外的書還特別有一章講結構化程式設計,而且是放到前五章之內.

後面的章節每乙個例子都是用結構化寫成的.絕對不是譚那種乙個main函式到尾的考試程式設計.在陣列和指標上,譚的書是分開兩章來教,而且中間隔開一章,而國外的好書是放到同一章節中講述,並強調它們的聯絡與區別.

以上列舉了譚書的部分缺點.我所說的國外好書主要是我詳細看過的〈c語言解釋教程〉,同為入門書, 我感覺教出來的學生縱使本來一樣勤奮,但素質都會截然不同.這就是中國高等教育遠遠不如美國的地方.

說明顯了就是應試性特強,不注重基礎原理, 排版混亂且沒特色, 軟體工程與軟體入門全面脫鉤...等等.

本人說誇張一點,譚這種爛人有當今的顯赫威望絕對是中國的悲哀.他嚴重阻礙了中國軟體教育事業的發展,更為可悲可嘆, 這裡居然有人說他

的書不錯真是荒謬之極.

8:讀了老譚的書,總覺得譚浩強是乙個很少自己編寫程式的老學究,四平八穩、中規中矩。他的書裡面沒有經驗建議,也沒有自己獨到的見解,只有完全正確的規範。

合適當工具書(但說起c語言工具書又有哪本書敢和k&r的《the c programming language 》爭鋒)。而國外的很多c語言書是由c語言創始者或擁有幾十年經驗的質深程式設計師編寫的。這些書裡更重要的是融入了作者多年的程式設計經驗。

使用了多年的c語言後,隨手翻翻這些書,時常會對作者獨到見解拍案叫絕、深受啟發。但是看譚浩強的書,總是覺得乏味枯燥——典型的中國教材。

舉一兩個簡單的例子:

1.運算子優先順序問題

譚浩強的書只是在附錄中將ansi c裡有關運算子優先順序的規範抄了一遍,區區兩頁。當然這樣最穩妥,最不會出錯。

在《pointers on c》中作者不僅詳細解釋了運算優先順序,還分析了c語言規範中定義不清的地方,也就是告訴讀者c語言中**存在陷阱。此外還對在各種編譯器中的運算結果進行比較。可以看出作者頗費了些心思。

而在另一本書——《實用c語言程式設計》/《practical c rogramming》中作者建議道:你只需要記住乘除的優先順序高於加減,其它地方一律加上括號。我經歷過幾次對著運算子優先順序表幫別人查軟體bug以後,就把這句話作為程式設計原則發給每個新來的人。

2.程式設計風格

譚浩強的書從不涉及程式設計風格,可能是因為c語言規範中沒有這方面的規定,也可能他自己就沒意識到程式設計風格的重要性。

而在很多入門級的程式設計書中常常都會單闢一章詳細介紹程式設計風格,因為良好的程式設計習慣要從一開始培養。養成好習慣很難,壞習慣一學就會。

我們對剛到公司的大學畢業生做的最多的培訓就是程式設計風格培訓。因為他們常常對縮排式風格、匈牙利命名法、注釋的重要性等等都一無所知。但即使這樣常常也達不到效果,因為這些學生早就在學校裡養成了只要能實現功能,其他都無所謂的習慣。

這應該算誰的責任?

我不是說譚浩強的書不好,只是覺得國內大學裡的這幫教授的實踐經驗太少。所以寫出來的書同國外的經典書籍比起來整整差了乙個檔次。當然這些在剛剛接觸c語言時是感覺不到的。

但過了多年後才發覺以前走了不少的彎路,自己花了幾年總結的經驗教訓,實際上在很多國外的優秀書籍裡早就有了。

9:為什麼有許多"初學者"喜歡這本書,因為這些初學者都是笨蛋,可是他們非要擠進這個行業,他們沒有成為設計師的資質,永遠都是it業受人擺步的民工. 他們看不懂其他書,太厚的也看不完,這本書對笨蛋來說太好了,不太厚,也不太貴,最重要的老潭讓他們懂了c++不過是比c多了點東西,所以它要比c厚點.

如果他們連這本都沒的看,他們就沒法學了.所以這本書是it民工的聖經!!!笨蛋門,苦海無涯,回頭是岸。

10:譚的書千篇一律,都是乙個樣,亂七八糟不知道說什麼,他出的許多書的章節都是一樣安排的,完全是騙錢。看看《c語言解析教程》(第四版)吧——你就會知道他和國外大師的差距了。

11:我不得不承認,我當年學習c語言的時候就使用這本書,現在看起來,裡面的**確實很不符合軟體開發的標準,尤其是**的命名根本就不符合規範,經常用什麼a,b,c啊之類的,但是這本書是最先帶我入門的教材,處於對自己「老師」的尊重,決定給3分,書雖然寫得不好,但畢竟曾經是自己的老師。不能太過於苛求,畢竟乙個年紀這麼大的人能夠獻身於中國的計算機教育事業確實值得尊敬的,想當年計算機不這麼普及的時候,那個時候最流行的語言恐怕就是basic 了,可是當年譚老的qbasic創下了2000萬冊記錄,不得不說他也算那個時代的乙個英雄,今天我們能夠用這麼好的高階語言來寫**的同時,不要忘記了哪些曾經用debug,為了不讓磁帶順壞而天天在機房捉蟲子的程式設計師,不要忘記我們是站在巨人的肩膀上.........

12:1.**不規範,書中有大量類似的如下**:

//4頁

main()

//110頁

main()

float add(x,y) //過時的宣告。

float x,y;

這樣的**規範嗎??我認為應該這樣:

#include 〈

int main()

#include〈

float add(float, float);

int main()

職場攻略 面試千萬別犯的愚蠢錯誤

1.差勁的握手 在握手時不要表現得特別不情願或是過於熱情。一次輕輕地握手可能會顯得你很羞怯,但過於用力也會適得其反嚇到對方。乙個禮貌合理的握手大概是你的手臂向外展開 大拇指豎起。2.繞圈子說話 在面試中,我們都很難說出口 我不知道 相比起顧左右而言他,如果坦然承認你不知道,或許面試官會更尊重你。如果...

不想讀研的這專業千萬別碰

如果你不想讀研,千萬不要被這十個高大上的專業名稱所迷惑。不然本科畢業後,你會發現,基本找不到對口工作。1 哲學開設課程有 哲學概論 馬克思主義哲學原理 中國哲學史 西方哲學史 科學技術哲學 倫理學 宗教學 美學 邏輯學 心理學 中外哲學原著導讀等。主要實踐性教學環節 包括社會實習 社會調查 社會公益...

千萬別在最該吃苦的年紀選擇安逸

他所吃的苦,是為了乙個上市專案,在三天之內自學幾十萬字的材料,讓自己在三天之內從乙個門外漢變成乙個行家.他也曾許多次摔倒在泥土裡,甚至讓別人從自己的身體上踩過去。他成功的取得了讓人望塵莫及的榮耀,只因為他是乙個懂得吃苦的人,能夠承擔得起那種厚重的魅力。他辛勤工作的身影,他隨時洋溢的才華,他的一切禁得...