計算機的學習也就那幾門基礎課,語言(如C,C++,Java等),數據結構與算法,數據庫,計算機網絡,計算機組成,操作系統,編譯原理等。
下面列出書單共大家參考,這些書都是各個方面的經典書籍,非常值得一讀。這些書也是我看過的書或者正在准備看的。
1.語言方面
當初我學C語言時是剛剛接觸編程,對指針啊,各種聲明等很困惑,感覺編程很難,但當我看完C陷阱與缺陷后感覺豁然開朗,它告訴你為什么這樣,怎樣理解各種復雜的聲明。
倒不是說這本書有多么好,而是它確實是我的編程啟蒙書,它讓我對編程感興趣。當然,現在再看這本書很簡單,有基礎的一上午就看完了。因為這本書對我意義非凡,所以
在這啰嗦兩句。
C++推薦C++ Primer 5th,這本書我感覺非常好,講解清晰,知識點覆蓋全面,關鍵是翻譯的非常好,幾乎找不到錯誤。如果想深入學習C++,則推薦深度探索C++對象模型,
如果用C++寫項目,在寫之前推薦看一下Effective C++和Effective STL。如果以后想主用C++,則推薦更近一步學習模板,
Java推薦Java 核心技術 9th上下兩卷或者Java編程思想 4th,我感覺后者較難,前者較容易,有C++基礎的還是看后者吧。
如果以后想主用Java還推薦看深入理解Java虛擬機(第2版,國人寫的為數不多的好書之一。
2.數據結構與算法
強烈推薦算法 4th,非常好的一本書,通俗易懂,Coursera上還有作者的公開課哦。當然也少不了經典的算法導論,不過如果前者仔細看了,
后者作為補充,粗略看看就行了(如果你不做算法工程師的話)。另外,聽說數據結構與算法分析 C++語言描述也不錯哦。
3.數據庫
數據庫理論方面推薦看數據庫系統概念,俗稱帆船書,比較厚,比較難,重點章節讀一下就行了,沒必要全讀完。如果要問選擇哪種數據庫,當然是MySQL了,
看高性能MySQL 3rd,MySQL領域經典之作。
4.計算機網絡
如果說到計算機網絡, W.Richard Stevens的大名幾乎是無人不知,無人不曉的。他的TCP/IP詳解 卷1雖然出版時間早,但仍值得看。
還有一本計算機網絡(第6版)也是非常好,我現在正在讀。
5.計算機組成
計算機組成也叫計算機體系結構,是一門非常重要的基礎課。計算機體系結構 量化研究方法稱為計算機體系結構的聖經,必讀。
還有一本嚴格來說並不在計算機體系結構范圍內,但也有涉及,就是大名鼎鼎的深入理解計算機系統,非常好的一本書。
6.操作系統
只推薦一本現代操作系統(第3版),俗稱馬戲團書,作者是大名鼎鼎的Andrew S. Tanenbaum。
7.編譯原理
由於還沒學,了解不多,只推薦一本以免誤人子弟編譯器設計 2nd。