給一個程式設計師的書單

l_serein發表於2013-03-26

http://user.qzone.qq.com/85834781/blog/1364180758#!app=2&via=QZ.HashRefresh&pos=1364180758


結合自己這些年的一些經驗,推薦一個書單,僅僅是推薦而已。書單中的書大部分看完了,有的不止一遍。希望能夠對剛入行的有幫助,下面提供的網址只是讓你用來了解書的詳細資訊的,不是給京東做廣告。你完全可以從亞馬遜買。

基礎:
計算機組成原理 http://book.360buy.com/10156336.html 只有對計算機本身瞭解的越多,將來面對問題的時候才能想的越深入
資料結構與演算法分析:C語言描述 http://book.360buy.com/10057441.html 必須要對資料結構有一個入門級的認識,才能知道什麼是常規的設計思路。野路子可以解決問題,但大多數時候是在重新發明輪子,而且發明的很糙。

語言:
C語言是最接近機器的語言,為提供最優秀的解決方案提供基礎
C Primer Plus http://book.360buy.com/10062260.html 本科的C語言課本是閹割版,作為專業人士,需要了解完整版的C是什麼樣的。
C++ Primer中文版 http://book.360buy.com/10062345.html 別指望你能短期內掌握它,閱讀一遍只是能大概瞭解什麼是C++。
C++程式設計思想 http://book.360buy.com/10790734.html 不是初學者讀本,不是教你C語言的,跟你想的不一樣。有必要讀來作為打通任督二脈用的。
Java程式設計思想 http://book.360buy.com/10058164.html Java是你能快速掌握的面嚮物件語言。能快速的做很多事。

選讀:
Lua程式設計(第2版) 這是唯一的Lua中文書,讓你瞭解程式設計世界的奇妙之處。去網上下載PDF版吧
JavaScript權威指南(第6版) http://book.360buy.com/10974436.html 網頁上的東東是怎麼動的。和Lua某些理念驚人的相似。
C#高階程式設計 http://book.360buy.com/10400918.html 瞭解微軟的語言,跟Java類比,很容易學會。
組合語言 http://book.360buy.com/10079431.html 這是機器語言的一種人能看懂的表述方式,看看計算機怎麼說。
編譯原理 http://book.360buy.com/10058776.html 告訴你語言是怎麼被計算機執行的,也許有一天你會需要設計一種語言,這並不遙遠。

Linux相關:
Debian 標準教程 http://book.360buy.com/10063225.html 認識Linux,從實踐開始
Linux命令、程式設計器與Shell程式設計 http://book.360buy.com/10400486.html 這種知其然知其所以然的書不多,難能可貴。
UNIX環境高階程式設計 http://book.360buy.com/10062360.html 這本有一個別名叫《易筋經》,想看懂先要對UNIX/Linux以及C語言有一定的經驗。看完你會對整個世界有新的認識。所謂易筋洗髓,不過如是。

選讀:
UNIX程式設計藝術 http://book.360buy.com/11075445.html 能把程式設計上升到藝術,但藝術並非人人能懂,懂的為它哭為它笑,不懂的笑它痴,笑它傻。
UNIX網路程式設計 卷一 http://book.360buy.com/10064502.html
         卷二 http://book.360buy.com/10139716.html 有些東西讀來不是為了臨時抱佛教,看完這個你才明白自己到底需不需要ACE

設計相關:
設計模式:可複用物件導向軟體的基礎 http://book.360buy.com/10057319.html 非常古老,非常枯燥,也許若干年後你用到一個,或者遇到一個,或者需要一個,才明白這是啥。
重構:改善既有程式碼的設計 http://book.360buy.com/10064254.html 讀這本書是為了告訴自己,寫程式碼不是玩遊戲,玩的不好重來。寫程式碼要不斷演進,不斷精益求精。不斷修改。不存在重來。

軟體工程:
程式碼大全 http://book.360buy.com/10875285.html 書名的翻譯是個錯誤,這本書讀完,你跟你的專案團隊將能合作愉快。否則你只是孤家寡人。雖然酷,但是已經沒落。
程式設計師修煉之道:從小工到專家  http://book.360buy.com/10393278.html 一本書就能成為專家,那是Shit,但裡面的道理,真的好。

延伸閱讀:
機器學習 http://book.360buy.com/10131321.html 這本薄薄的中文小書告訴你程式設計可以面對未知的問題,也就是沒有正確答案的問題。而大多數的研究,都在這個領域。自己實現一個人臉識別的演算法。這成就感大了去了。


最後,如果可以,希望你能去了解一下Forth語言和Erlang語言,對神奇的計算機世界會有更深刻的認識。
沒有涉及具體應用領域的東東,例如資料庫啥的,讀完上面的,應該自己有能力去選擇了。

相關文章