一個深圳同事問我學面向對象設計,需要看什么書好。當時給了他一些建議,他感覺還是不滿意,我就應承他寫一篇blog,
說說這個問題。
其實我的C++和Java也學得不好,寫程序常常需要看幫助,結構化設計和面向對象設計,也理解不深刻。不過在公司混,技術并不是唯一的東西,你可以發現一些人技術平平,但混得有滋有味,這里面“混”的精髓我就不必說了。
言歸正傳,我學習一門技術一般分兩個階段:
一是入門階段。隨便買本國內某某教授親自寫的,出版社很垃圾的破書看看,比如《精通VC++6.0》、《21天學會MFC》,這些書很容易看懂,讓你來個“Hello
world!", 高興一把。
二是慢慢深入階段。這時候最好買國外技術發源地那些大牛自己寫的書,或者和大牛是同事或鄰居的牛人寫的書,由國內比較好的專業翻譯人員翻譯,當然你看英文快過中文,直接看英文版不錯。要注意就是這些書不是你第一次看就能全部看懂的,可能需要幾遍,或者一年之后等你經驗和知識達到那個程度了,才能領悟書中的知識點。
下面列出我看過,還沒有弄丟,放到我書架上的書吧。
《C語言程序設計》:譚浩強,大學教科書
《C程序設計語言》:經典K&C
《程序設計實踐》:K&R,經典的C方面編程實踐
《編程珠璣》:至今沒看完,沒看懂。如果你看完看懂,做完做對習題了,去微軟等大公司不是難事。
《C語言大全》:C編程的好字典。
《深入淺出MFC》:VC++方面的經典啊,當年就靠它和MSDN混飯吃。
《C++大學教程》:入門書籍中也算好的了。
《C++程序設計語言》:C++之父Bjarne Stoustrup,
搞C++的不看也得買回來充充門面,我認真看過3篇。
《C++ Primer》(3rd):Stanley B.Lippman,
第3版經典啊,第4版看了就氣不順。
《深度探索C++對象模型》:Stanley B.Lippman,
畢竟是搞C++編譯器的大牛啊。
《Effective C++》和《More Effective
C++》:不看你怎么敢說會寫C++程序哦。
《C++高效編程:內存與性能優化》:
《大規模C++程序設計》:
《C++并行與分布式編程》:
《C++網絡編程》(上下):
《Unix環境高級編程》:Ricard
Stevens,UNIX編程的圣經啊
《TCP/IP詳解》(共三本):Ricard Stevens,UNIX編程的圣經啊
《Unix網絡編程》(上下):Ricard Stevens,UNIX編程的圣經啊
《Unix編程藝術》:象我一樣曾經從VC++轉到UNIX平臺的,要洗腦啊。
《設計模式》:GoF ,不必介紹了。
《程序員修煉之道》:
《代碼大全》(2):現在我嫌他太羅唆,拿來教育小弟還是不錯的。
《Java編程思想》:Java入門經典。
《Java與模式》:經典。
《重構》:Martin
Flower
《深入Java虛擬機》:
《Spring in Action》:
《Webwork in Action》:
-------JAVA方面我一般是學習和使用Apache, Resin, webwork,
hibernate, spring, jboss,公司都是用開源的東西,這些書看得多。
<<敏捷軟件開發》
《C#高級編程》:當JAVA一樣學,反正語法差不多。
--------NotNET看得少,曾經一個小項目用到。
還有數據結構、操作系統、匯編和編譯原理、數據庫、JAVA、C#、UML等方面的書,看過的應該有三四十本吧,有些已經送人了,根本記不得了,其中有很多好書,就不一一羅列了。