2016年你讀了哪些覺得比較好的計算機書籍?

各位分享交流一下。


謝邀

每到年底,朋友圈都能看到各種」大神「曬出來的書單,洋洋洒洒一年讀二三十本書的彷彿都不好意思見人,曬起來都四十本起步。答主本人很慚愧,並沒有讀多少本書,其中還包含去年讀過今年又翻出來讀一遍的、一直當做工具書來讀的。技術類書籍或許大抵都是如此,一本書需要反覆揣摩、思考、實踐,直到完全吸收,才好意思叫「讀過」罷。

P.S. 由於現在「李鬼」太多,怕大家買錯之後跑來噴我,我就乾脆上鏈接了。

1. 《深入理解Android內核設計思想》

這本書大概是我讀過的講解Android源碼中,把IPC通信講解的通俗透徹的一本了,也是我唯一推薦的源碼解讀書。當然書中關於View的繪製方面講解也是很贊。書中少有那種大段大段讓人看了想睡覺的源碼,排版很用心。美中不足的是OpenGL等部分講解略顯潦草。

可以說這本書我已經斷斷續續翻了兩年了,正確的閱讀方式也應該如此——跳過晦澀難懂或自己不熟悉or不感興趣的模塊,直接看自己感興趣的部分,比如`View`的`travel`機制,比如`WindowManager`的管理機制,或者僅僅是應付面試,看看`ActivityManager`臨時抱佛腳,也未嘗不可。有興趣了再看看`InputManager`之類的當然更好。

一言以蔽之,光會畫幾個UI,寫幾個Activity或Fragment,僅僅是「外家拳」而已,而Android源碼部分的知識則相當於內功心法,重要性不言而喻。

2. 《移動App性能評測與優化》

不得不說這一本書真的震撼到我了——騰訊的測試團隊對Android的DVM掌握程度,簡直甩開國內90%開發者。真的不要不服,耐著性子看完第一章關於降低app內存消耗的部分,從挖掘問題,指定解決方案、驗收方案、監控方案等一系列過程……我是在心中暗挑大拇指了。

更難能可貴的是,這部書介紹的優化之路,並不是直接丟個解決方案出來,讓你自己一臉懵逼。而是從發現問題開始講起,到問題背後邏輯、如何選擇解決方案、如何解決、如何驗收解決成果……一步看下來,可以看到騰訊研發團隊和測試團隊在面對問題時的思考過程,受益良多。

3. 《HTTP權威指南》

又是一本」內功心法「,說起來不怕大家笑話,截止到去年,TCP/IP那三本經典,我連其中之一《TCP/IP詳解·卷1:協議》 都沒能耐著性子看完。反倒是這本,由淺入深的講解HTTP,」順帶「講了TCP/IP的權威指南,看過之後方有恍然大悟之感。

這本也屬於我閑著沒事都會翻出來讀讀的書,查缺補漏嘛。

相比之下,《圖解HTTP+圖解TCP/IP+圖解網路硬體》 三件套更適合像我這種非科班出身,自學寫程序的人去補的基礎。屬於網路開發的入門三篇,如果計算機科班出身的應該用不到(如果你有好好學習的話),但還是在這裡推薦一下吧。

4. Gradle for Android中文版

AndroidStudio基本上已經完全代替了Eclipse了。改換AS一年多,對Gradle的了解還基本上趨近於零,於是準備系統的看看關於Gradle的書,結果悲劇的是,剛買完兩百多塊的英文原版之後的兩個月就出中文版了……然而英語渣的我出於心虛,又讀了一遍中文版……

值得肯定的是譯者自己也身為Android開發者,所以對於翻譯的把控非常到位,並不會出現「看不懂中文」的尷尬翻譯。這本書對於SDK開發還是非常有幫助的,利用Gradle對巨大臃腫的項目做模塊拆分,做多模塊構建、倉庫管理等方面的工作還是少不了Gradle相關的背景知識,很值得看。

其餘的今天寫不動了,先寫到這裡。最後感慨一句——我朝的書賣的真TM便宜啊……


謝 @王小猿同學 邀

今年真的看了不少書,但多數是非技術書籍,有的並沒有看完,但對待看書的態度有了很大的變化,意識到讀書是提升自己最可行的方式,先寫幾本技術書籍,有時間再補

1 移動APP性能評測與優化

2 Android高級進階

3 深入理解Android內核設計思想

4 重構 改善既有代碼的設計

5 深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版)

6 圖解HTTP


珍惜大學生活,不放過圖書館的每一本好書!

計算機文化類:

  1. 極客之王:Linux系統創始人林納斯·托瓦茲

  2. 只是為了好玩:Linux之父林納斯自傳:the story of an accidental revolutionary

  3. 計算機史話

  4. 軟體故事:誰發明了那些經典的編程語言:the programmers who created the software revolution

  5. 天才的拓荒者:馮·諾伊曼傳

  6. 電腦英雄

  7. 若為自由故:自由軟體之父理查德·斯托曼傳

  8. 喬布斯傳:1955-2011 / 丹尼爾·伊克比亞著

有趣值得一看的書:

  1. 短碼之美:編程達人的心得技法

  2. C程序性能優化:20個實驗與達人技巧

  3. Google與百度:全球兩大搜索巨頭的技術創新與盈利策略
  4. 30天自製操作系統
  5. 機器博弈中的數據結構與基本方法

編程語言:

  1. C程序員從校園到職場

  2. Android大學教程

  3. 瘋狂Java實戰演義

  4. Processing互動編程藝術

  5. 深入理解C指針 / (美) Richard Reese著

  6. JavaScript DOM編程藝術 / (英) Jeremy Keith, (加) Jeffrey Sambells著

  7. 彙編語言.第2版 / 王爽著

恰巧這學期學編譯原理(雖然今天考試gg了,但下學期課設還是用得上的),而且編譯原理真的是大學最有意思的一門課了。。。

  1. 自己動手寫編譯器、鏈接器

  2. C編譯器剖析

  3. 自製編程語言

  4. 編譯原理 / (美) Alfred V. Aho ... [等] 著

其他的,雖然也借了一些好書,太浮躁,沒認真看完,或者時間安排不恰當沒時間看了。就不一一列舉了。以上是我覺得比較好的,希望有各位喜歡的。

也希望自己下一年能靜下心來多研究一些好書,畢竟大學時光過一天少一天了。

---------------更新--------------------

整理了一下之前借過的書,更加全面,感興趣點擊傳送門:我的知乎專欄


《神經網路設計》

《yacc與lex》

《兩周自製腳本語言》算是編譯入門吧

《兩周自製編程語言》稍微進階一點

《CSAPP》

《精通正則表達式》

王爽的《彙編語言》

《程序員的自我修養-編譯鏈接與庫》

《操作系統之哲學原理》


安老師寫的《Qt Quick核心編程》吧

雖然現在用c++的人越來越少, Qt也在落寞, 但好歹都是在進步的

在很多時候我也覺得QML是個超級大坑, 但是這並不妨礙可以使用這個工具去更方便簡單的完成某些事情, 而且QML的寫法本身已經和Web裡面的那些很像了, 腳本控制也是用的JS, 生成界面方便快捷. 我知道在UCSC遊戲設計專業研究生里就有人專門去做這個, 並且寫完了幾個非常好的遊戲, 花的時間也很少.

安老師這本書基本將QML能說的方面全部涵蓋了, 而且似乎是國內我發現的唯一比較好的一本書了..在Qt編程裡面比較煩的就是不停的查文檔吧, 文檔是英文而且內容太少, 而安老師的書剛好就可以與自帶文檔互補, 是一本GUI入門的好書.

我覺得再可以改進的一點是, 書里的例子基本都是以實際的應用程序, 如果例子里加入一些眾所周知的2D遊戲的實現就會非常的好. 我就是靠這個在年中的時候一天編完了植物大戰殭屍的基礎框架..

關於QML可以再提一下, 我深入研究過用QML寫的一個galgame遊戲引擎, 一共4k多行洋洋洒洒的代碼, 精鍊整潔美觀, 作者也就是我上面提的UCSC的研究生..

引擎的整體代碼目前還沒有開源, 但是有一個中間過渡的小工程是開源的, 可以從這裡去了解一下

傳送門: 286studio/QMLText2


thinking in java,跪了,神書加難書。


1. 程序員的自我修養--鏈接、裝載與庫

2. 自己動手寫Java虛擬機

3. 深入理解Java虛擬機

4. Docker容器與容器雲(第一、二版)

5. Linux/Unix系統編程手冊(上、下冊)

6. Linux環境編程

7. 深入理解計算機系統(第三版)

8. 性能之巔

9. 從Paxos到Zookeeper,分散式一致性原理與實踐

10. Go語言學習筆記

2016感覺是我目前為止讀書最多的一年了,上面列的是我覺得寫的比較好的一些書。

有些書籍值得反覆讀,反正好多我都看了不止一兩遍,感覺每次讀,都會有更深層次的理解。


從2016年9月開始一共讀了5本書,讀完3本,還有兩本沒讀完,其中技術書籍有4本,分別是《C++ Primer 第5版》《CLR via C# 第4版》《深入解析CEGUI》《數據結構與演算法分析——C語言描述》,另外非計算機書籍是《通關!遊戲設計之道》

其實這一年最令我高興的是,總算是重新拾起了學習的熱情,養成了讀書的習慣,由於工作比較忙,所以沒法一年讀幾十本。其實蠻後悔大學沒有好好靜下心來讀書,而把大部分精力放在應用項目和女朋友身上了,現在看來自己真是圖樣圖森破,基礎不夠好,女朋友也沒了。

一本本說吧

《C++ Primer 第5版》

這本書不用多介紹了,C++ 學習必讀書籍,讓你學到幾乎能用到的大部分基礎知識,但同時也展現了 C++ 難學的地方,有一定勸退作用(逃)。而且葉大輪子哥作為審校,怎麼能不讀呢23333。周一剛調到新項目組,由於歷史遺留原因該項目也有很多 C++ 的地方,所以正好可以鞏固了。附上我的讀後感吧,《C++ Primer 第五版》書評:雖然是一本基礎書,但是它很強大

《CLR via C# 第4版》

說實話可能一些非 .NET 程序員並不知道什麼是 CLR ?大概可以粗略理解為 JVM 相較於 JAVA 吧。這本書也是 .NET 進階必讀的一本書,作者 Jeffrey Richter 還寫過一本《Windows核心編程》,這本書除了介紹 C# 代碼在背後運行的一些過程,能讓讀者對寫出高效的 C# 代碼有一個 更好的認識。並且這本書讀起來很清晰,作者和譯者寫的很清楚,可以說是我今年讀過最好的一本書。不過我還沒有讀完,還差個200頁,應該很快就讀完了。

《深入解析CEGUI》

這本書沒有圖,因為沒有出版,很遺憾,但是工作要用,就找了本 pdf (我是正版主義者)。

我覺得 CEGUI 本多人並不知道,即使是遊戲界的朋友可能也不知道,因為他實在太老了,當然我司其實是很久以前開始用這個,現在已經完全改成我們自己的一個 UI 庫了,但是還保留著基本的結構。這是一個面向遊戲開發的開源 UI 庫(本人是做遊戲的),且使用 C++ 進行開發,xml 在這裡有很大比重,除了界面布局之外,還有很多地方使用 xml 作為配置。我個人其實不是很喜歡其中的一些設計,比如 Window 繼承自 PropertySet 和 EventSet ,其實我覺得不用繼承比較好。

但是這本書我不推薦閱讀,一個是可能很少有人用現在,尤其是國內,另一個原因是我不知道是不是我讀的 pdf 的原因,文中錯別字有些多,講的也不是特別清晰吧,但是對於 CEGUI 的講解內容來說,還是不錯的。

書評趕在跨年前寫完:《CEGUI 深入解析》書評:沒能出版是個遺憾

《數據結構與演算法分析——C語言描述 第2版》

這本書並沒有放下所有東西來全力讀,主要是作為復慣用的,而且數據結構和演算法這類東西我覺得還是慢慢積累比較好,畢竟我也不是專門研究演算法的,所以就每天學習一些,還有很多沒有學完。這本書也是比較有名的一本數據結構書籍,講了基礎常用的數據結構以及演算法分析方法,以前應付考試的時候快速閱讀了一遍跟考試內容相關的章節,現在靜下心來重新閱讀,收穫很大。

另附《通關!遊戲設計之道》我的讀後感吧,《通關!遊戲設計之道》書評:隨時可翻閱的遊戲設計工具書

其實大學裡還是太浮躁了,做了很多應用項目,現在還是有些遺憾。當然這些應用項目給我的提升也是很大,而且讓我找到了一份不錯的工作,最重要的是過程中讓我認識到了很多厲害的朋友,也讓我更懂得為人處世。我是2016年某末流985本科畢業,雖然我剛畢業,但是我大學的項目經歷確實會比一般本科生豐富很多(不是裝逼,但是具體不說啦),並且我大四還在公司全職實習了一年,所以現在做表層的邏輯開發有些做夠了,當然還是會做很長一段時間。我個人打算花時間打好基礎,然後往圖形和遊戲引擎那方面發展吧,我其實還是想做出好的遊戲,但我知道我需要什麼。

希望各位都能找到自己的人生目標並且為之不停奮鬥,最重要的應當是不斷學習。這裡相對各位學弟學妹們說,一定不要浮躁, 雖然浮躁是當代大學生的通病,但是如果你能儘早的靜下心來,你會發現你的成長速度會超乎你的想像。

謝謝。


1. Java編程思想

2.Android開發藝術探索

3.Android群英傳

4.圖解http

5.人月神話

6.Java核心技術卷

7.鳥哥的Linux私房菜基礎篇

8.APP研發錄

我是交叉看的,所以除了研發錄其他都沒看完(捂臉)……但是確實都很不錯,尤其是Java編程思想真是不要太棒。

另外準備再入一本effective Java,據看過的朋友反應很不錯,我在考慮入英文版還是中文版還是兩本都收了~


1,安卓開發藝術探索

2,java編程思想

3,深入理解java虛擬機

(三本都是值得反覆咀嚼的神書)

4,大話設計模式


Sun 公司核心技術叢書:Effective Java中文版(第2版)

代碼整潔之道

Android源碼設計模式解析與實戰


推薦一本最近在啃的

《返璞歸真:UNIX技術內幕》

是我讀過的國人寫的最好的書之一

整本書深入淺出地剖析了Unix v6源代碼

作者還在Unix v6的基礎上添加了多線程等現代操作系統的機制來供讀者學習!!!

超級用心有沒有!!!


《android群英傳》

《android開發藝術探索》

《Thinking In Java》

《數據結構與演算法分析》

《Head First 設計模式》還沒看完

《深入理解計算機系統》正在看到一半,我看得好慢= =

《Effective Java》剛買,我喜歡交叉著看。。。


unix環境高級編程

ldd

程序員的自我修養

effective c++

c編程透視

白帽子web安全

linux內核


JavaScript DOM編程藝術

C#圖解教程

js高級編程


看了一眼過去一年的閱讀書單,推薦其中的兩本。

1.《Java 8函數式編程》

Java 8新引入的Lambda表達式特性大大簡化了集合的操作,而且使得代碼更簡潔更易讀。這本書相比於其他介紹Lambda 的書更清晰,全書基本都沿用了同一個例子並不斷重構,對於流的介紹由淺入深,但是這本書才150頁不到,行文通暢,大概兩三個小時就閱讀完畢。對比原來老式的集合操作和流式操作,一定會讓你喜新厭舊一把。

2.《圖解番茄工作法》

這個不能算是計算機的書籍,但是確實過去一年對我影響最深的一本書。極簡的工具,極簡的流程操作,背後隱含著目標驅動、PDCA 、條件反射等機制。通過自己的實踐,慢慢地讓每一天的工作更有效率更有目標性。同樣的,這本書很薄而且購買電子版就足夠了,一兩個小時的閱讀帶來更高效的工作方法,性價比十足。


sql必知必會,

Sql基礎教程,

Java編程思想,

Android 開發藝術探索,

安卓編程權威指南,

Javascript 權威指南,

你不知道的javascript 上卷,中卷,

Node.js開發指南,

Node與express開發,

css 權威指南


c程序設計語言

深入理解計算機系統

c++ primer

演算法導論

現代操作系統

計算機網路-自頂向下方法


你不知道的javascript


Java入門123--一個老鳥的Java學習心得

JavaScript DOM編程藝術


推薦閱讀:

錄音室或現場實際錄製的音樂聽起來是否比電腦合成製作的音樂更有立體感?
一部電腦,一個麥克風,還需要什麼軟體才能錄製歌曲?
軟體UI使用不同的語言(中文、英文)對運行速度有影響嗎?
如何用10萬元改造自己的筆記本電腦?
Linux算不算抄襲Unix?

TAG:書籍推薦 | 書籍 | 編程 | 計算機 | 計算機書籍 |