re: C++閱讀漸進書目 任我行 2005-11-30 10:11
再貼:
推薦C++教程
1. <<The C++ Programming Language>> , Bjarne Stroustrup
這是一本每個人都應該買但不一定要看的書,強烈建議初學者不要看這本書,否則可能會一頭霧水,失去信心,BS寫書本來就不怎么樣,他自己都說他的書有些晦澀難懂,但是買一本放在書柜里,有什么不清楚的地方查查高人如何解析還是有必要的。中文版是裘老師翻譯的,以裘老師的深厚功力,技術上大家大可放心,但語言流暢上我就不敢認同了,況且這還是一本大書,如果要追求語言流暢的話,可能沒有兩3年是出不來的,而且國內的出版社又那么急功近利,稿酬不高,做得那么好有必要嗎?
2. <<C++ Primer>> , lippman
lippman的地位自然不用猜疑,此書也被評為C++的最佳入門書籍,也是Lipman寫得最認真的一本書,第3版在國內98年就有了。全書可謂是C++大全,深度適當,比較適合初學者,或者想對C++和程序設計有大概了解的讀者, 但就是比較厚,這也只能怪C++的源遠流長,總是在打園場,不斷增加新特性,讓我們這群讀者都不得不捧著這本大書品讀。中文版是潘老師翻譯的,文字通順,但缺乏味道,看著一本千來頁的書,而且前面一部分講的都是程序設計思想,容易令人產生困倦,也難怪很多人半道出家學java。
3. <<effective C++ >> Scott meyer 同下
4. <<more effective C++>> , meyer
這年本書乃是改善設計思維和設計思想的必讀書籍,書中每個item莫不是經過千錘百煉之后得出。其中,effective比較淺顯易懂,每個item都比較短,而more設計思想更進一層,有些item已經多多少少有設計模式的味道。我看過的是繁體版,這兩本書候老師翻譯得不錯(我覺得是候老師翻譯得最好的兩本書,比較認真),讀起來比較有味道。建議初學者在看完一本C++比較完整的書后直接拜讀此2書。
5. <<The C++ standard library>>
就是現在賣得比較熱的書,夢魘和候節翻譯的,翻譯得很好,語言很通順,技術上也很好,只是書中有些代碼我是調試不過,或許只能怪STL里面有幾個經典錯誤,不知看這本書的讀者發現了沒有?我嚴重建議C++的初學者看這本書,先知道應該怎么來用C++,怎么來充分利用標準庫,而不是一頭鉆入C++的龐大晦澀語法里面,先用標準庫才能養成良好的代碼編寫風格,更可以提高自己的實作能力,否則你如果花上一年半載在C++的語言細節上,可能自己都生氣為什么還是寫不出好的程序出來,公欲善其事,必先利其器就是這個道理。
6. <<modern C++ design >> Andrei Alexandrescu
這是天才Andrei Alexandrescu的作品,很好的一本高階書,此書我只是瀏覽一下大概,沒有仔細看,有些地方看不懂,全書把C++和設計模式融為一體,向人展示了許多不平常的設計技巧與設計規范,令人折服。但有些難度,還望各位慎重。至于里面的技術實不實用,就要因人而異了。
7. <<C++ Template>> 據說書中展示了模板的精華之處
8. <<exceptional C++ 和more exceptional C++>>
Herb Sutter的書讀起來比較輕松,此2書可以作為effective與more effective的姐妹篇,寫作風格有些如蘇格拉底的提問式教學,但應用得還不夠火候。書的內容確實不錯,定位和effective差不多,但我個人而言還是更喜歡Meyer的書。More有中文版,有Lostmouse翻譯,質量一般,翻譯給人的感覺比較倉促,很多地方都過于直譯,味道怪怪的。
9. <<essential C++>> lippman 很簡單的一本書,初學者如果覺得自己確實很菜可以先看這本書,你肯定能看懂,也是lippman的書,但英文版有些地方值得商榷,還是看候節的中文版吧,翻譯得還可以,就是臺灣味道太濃了些,有點喧賓奪主之嫌。如了門的讀者就沒必要看這本書了,看它還不如看lippman的inside the C++ object model呢。
10 . <<designing and coding reusable C++>> 關于重用和程序庫設計的一本書,是由AT&T的Ellis夫婦寫的,書寫得很好,充分考慮了設計可重用程序庫的方方面面,對于每個想設計程序庫和的讀者都應該看這本書,中文版名是《設計和重用C++程序庫》,即將出版。
11. <<thinking in C++>> 我是覺得此書一般,并沒有外面吹的那么好,可以說是中等偏上吧,要看就要看英文版的,中文版的千萬別看,那個譯者太不負責了
12. <<Runmination on C++>> 據說人郵既要出版了,是由konnig夫婦寫的,如果你想知道cfront的歷史,還想清楚cfront的領導者,就找他們夫婦吧,那時,konig和BS是獨立的,而其它的人都是由konig夫人Barbara領導的,konig在C++中可算是number 2,屬于學術派的那種,實際上C++也是分派別的。 英文版的質量肯定很好,有很多新的設計觀念,中文版還要期待,看看結果如何。
13. <<16Accelerated C++>> 也是koenig和Barbara夫婦寫的,據說很好,但我沒機會看,實在不敢評價。
14 <<C語言接口與實現:創建可重用軟件的技術>>
re: 程序員的六個階段-找準自己的位置 任我行 2005-11-02 15:48
你知道金庸對吧, 他的小說里把各種武功寫的出神入畫, 當然那是胡吹八撤
的是吧,可是你知道嘛,這些武功真的存在哦,不信看看我練劍的經過:
[[[ 本為杜撰, 絕無此事]]]
A 我想學習劍術
[[["如果你不想從事IT這一行業我看學學打字,上網,聊天就算了,就算你有所成就,
也只不過是都得如何更有效的操縱機器,外面的世界多精彩!看看小說,和朋友閑聊
都比象程序員那樣整天坐著面對沒感情的機器好!想賺錢就去搞銷售,只要肯賣里,
一年下來搞個萬兒八千的不成問題!"
我開始猶豫了,學?不學?還是學吧, 不學也行吧...]]]
B 我的朋友說太極劍法更易于養生,但我還是我選擇了華山派劍法,因為很有名.
[[[你在猶豫不決嘛?哦,如果你真的要干,那么先學會和機器說話,找門語言吧,
可好多人好像在搞BASIC 或JAVA,他們說效率高,"我行我素"不知道是優點還是
缺點,反正我選擇了C, 聽說這個很難學.]]]
C 拜師不成, 每日只能借送水的機會學習基本的撥,擋,撩,刺,總算"會"用劍了
[[[跨進IT好難,想考個好的院校偏偏落了榜,不過走進大學了,總算老師管不
著了吧,所以到處"搜刮"C語言的資料,花錢上機,功夫不復有心人, 總算學到了
點C的基本知識, 好像我會編程序了,自然心里美滋滋的! ]]]
D 剛剛學會點皮毛我就學會打架了,結果...唉, 被打是丟盔棄甲,手忙腳亂的連
劍也丟了! 怎么才能把劍拿穩? 從此我開始研究各種套路,集"各家之所長" 好像
是進步的捷徑吧!
[[[剛剛學會點語法就拿著三腳貓的功夫到處炫耀!"我會編程序,牛X吧!", 知道
<葉公好龍>的故事嘛? 好在我不姓葉要不肯定會"千古留名". 很快消息傳到了
我的一個老師那里,她把我叫去問我關于VC的基本操作知識,因為她在學,結果我
本來是學TC的嘛,所以張口結舌,后來的事我就不提了! 回去后我就打算多學幾種
開發環境下的程序設計,把什么VC.BC.Pro-C.等多種開發環境都熟悉了一下.呵呵,
你來問我啊?結果不會有人找你了! :( ]]]
E 有一天我碰到了一個高手, 他看到我手中拿著劍就讓我和他比試比試, 我真是
高興, 可是他偏偏不讓我用劍,他給了我把斧頭,讓我砍木樁,比試誰砍得深. 那個
斧頭好重,總算試著拿了,然后用盡全身力氣, 一下把木樁砍了可口!可那個人搖搖頭,
說 "你根本沒力氣,就算斧子以自身的重量掉到樁上也比你砍的深". 那個人
原來是個柴夫!
[[[上大學二年我去一家公司打工,本來是想跟別人學點東西的,但是大家一起
工作,不會有人閑著沒事偏偏來教我. 工作的第三天組長拿給我些代碼給我看,我
一看就傻了,用PASCAL 寫的,組長說讓我把那些函數改寫用C寫, 以前從來沒寫過
超過500行的代碼,可是我數了數,那些代碼超過了2000行,我真的傻了,然后硬著頭
皮假裝看著, 坐在我旁邊的同時看出了我的問題,他很愿意解答我些問題.最后他告
訴我說,各種語言是相通的,程序設計的基本結構相差不多,他讓我學好數據結構和算
法和編譯原理等基本知識. 這個同事是搞硬件的,他那時候在測試自己做的顯卡!]]]
F 我真的不明白,為什么沒力氣? 我放下了手中劍, 開始從事正常的勞動,打水,砍柴...
不過從來沒有放下心里的劍, "到底什么是'正宗'?' 什么是'劍', 砍柴也可以練劍嘛?"
從此我開始鍛煉身體因為我知道要練劍,先練氣,氣不足也許連砍柴的斧子都拿不起!
日復一日,年復一年,我幾乎忘記了我還會些用劍的招數.
[[[ 我辭了工作,回到學校開始學習計算機基本知識, 因為我知道,本來C語言就
是來操縱計算機工作的,我連計算機是什么怎么工作的都不知道,何談編程? 一年來
我沒有寫一句代碼!]]]
G 數年來我練就了一身的力氣, 有一天我決定拿起劍來闖蕩江湖, 所謂不入江湖怎知
江湖.
[[[ 大學沒畢業我就到一家軟件公司做程序員, 我終于又寫代碼了,]]]
H 馭劍術. 闖蕩江湖沒幾日我遇到一個高手, 可能是我的福氣吧! 他很年輕,不過
衣著和氣語不俗,我們約好月初一一比高下. 很快日子到了. 我們大戰
二十多個回合, 最后我還是輸給他三招, 不過我們總算有緣,因此無名山下結拜為兄弟
當然免不了到小店去喝酒談劍. 原來他家是武學世家, 酒過三旬, 他交給我一本
<馭劍術> 作為見面禮然后我們相互道別了!
[[[ 這是北京的一家小公司, 我的一個同事和我相處的很好,當然平時還要他
多多指點. 一次他和我說:"我知道你寫過兩萬行以上代碼的程序,所以我才和你討
論一下,我有個毛病:寫代碼少于萬行的人我從來都不和他談論技術,不過雖然你寫
的代碼多,基本功也不錯,但是你不能靈活運用,所以你寫程序的效率太低,我這
里有很多C語言方面的經驗,是我總結的,看看能不能對你有些幫助" 我十分高興!]]]
I 劍道. "學劍干什么?" 這個問題在我闖蕩江湖的時候越發模糊了, 除暴安良?
或是僅僅拿些賞錢呢? 一日在京城, 我在酒店碰到了一位鏢局的弟兄, 他看我一副
俠客的打扮就讓我到鏢局去干,他是那里的鏢頭,一個月二十兩紋銀還算好,我總算
安定下來了,平時除了押鏢我依然默默的做我的劍客!
[[[ 做小工好辛苦又不能轉政,所以我辭退了工組打算另謀高就, 恰好我的
一個朋友是一家稍大的公司的股東之一,因此他聽說我的事后就把我叫到他們公司
工作,除了每月薪水外,我還額外的拿到了些股份,呵呵,總算不錯了! 在那里的工
作也很辛苦,其實我是"打雜的", 和幾個同時專門從事技術研發,公司讓干什么我
們就干什么. 在我看來學習語言就是為了拿來用.]]]
J 無劍.