世界頂級的程序員們告訴你:這些書都是你應該讀的

在很早之前就想整理一份來自經驗豐富的頂級程序員推薦閱讀的書籍清單,全棧工程師Dmitry Shvetsov整理了Bob叔以及Jeff Atwood and DHH等世界知名程序員曾經在博客中推薦過的書單,下面我們就一起來看看深受大神們青睞的書籍都是哪些?


世界頂級的程序員們告訴你:這些書都是你應該讀的

Toptal公司副總裁Bozhidar Batsov在他的演講中提到:作為一名程序員,需要掌握15本書:

  • 《Inside the Machine》美亞評分 4.6
  • 《代碼大全》豆瓣評分 9.3
  • 《具體數學》豆瓣評分 9.6
  • 《計算機程序的構造和解釋》豆瓣評分9.5
  • 《程序設計方法(中文版)》 豆瓣評分 8.7

Bozhidar認為,即使你有20年的編程經驗,你也可以從上面的書中學到很多。

  • 《算法設計手冊》和《算法》可以讓你對算法有更好的理解
  • 想成為一名優秀的程序員一定要知道編譯器是如何運行的《編譯原理》
  • 每個程序員都應該懂點C語言《C程序設計語言》豆瓣評分 9.4
  • 《 UNIX環境高級編程(第3版)》豆瓣評分 9.5
  • 《UNIX網絡編程卷2》豆瓣評分8.3

這些書對于優秀的開發人員來說都是必不可少的,而對于使用面向對象語言的程序員,Bozhidar建議:

  • 《測試驅動的面向對象軟件開發》豆瓣評分 7.6
  • 《領域驅動設計》 豆瓣評分 8.1
  • 《編程格調 》原版豆瓣評分9.4

圖1:世界頂級的程序員們告訴你:這些書都是你應該讀的

眾所周知Robert C. Martin,也就是Bob叔是一大名鼎鼎軟件工程師、作家、講師等,其《代碼整潔之道》相信許多程序員都拜讀過,那么,他會推薦什么書呢:

  • 《設計模式》 豆瓣評分9.1
  • 《計算機程序的構造和解釋》 豆瓣評分 9.5
  • 《計算機程序設計藝術》 豆瓣評分 9.5
  • 《圖靈的秘密》 豆瓣評分8.8
  • 《重構》 豆瓣評分 9.2
  • 《解析極限編程》豆瓣評分 8.2
  • 《Redshirts》 豆瓣評分 8.4
  • 《”Bobiverse“三部曲》

圖2:世界頂級的程序員們告訴你:這些書都是你應該讀的

Jeff Atwood,Stack Overflow和Discourse的聯合創始人,他也分享了一些推薦給開發者的閱讀清單:

  • 《代碼大全(第2版)》 豆瓣評分 9.3
  • 《人月神話》 豆瓣評分 9.0
  • 《點石成金 : 訪客至上的Web和移動可用性設計秘笈》 豆瓣評分 8.2
  • 《快速軟件開發》 豆瓣評分 8.5
  • 《人件》 豆瓣評分 8.2
  • 《設計心理學》 豆瓣評分 8.2
  • 《About Face 4: 交互設計精髓》 豆瓣評分 8.6
  • 《軟件創新之路》 豆瓣評分 8.5
  • 《編程珠璣》 豆瓣評分 9.1
  • 《程序員修煉之道》 豆瓣評分 8.8
  • 《Web可用性設計》 豆瓣評分 7.8
  • 《正則表達式經典實例》 豆瓣評分 7.0
  • 《The Visual Display of Quantitative Information》 豆瓣評分 9.1
  • 《Visual Explanations》 豆瓣評分 8.6
  • 《Envisioning Information》 豆瓣評分9 9.0
  • 《Beautiful Evidence》 豆瓣評分 8.8
  • 《軟件研發之道》 豆瓣評分 8.2

圖3:世界頂級的程序員們告訴你:這些書都是你應該讀的

David Heinemeier Hansson,又名DHH, Ruby on Rails的創建者,Basecamp的創始人兼CTO,作家和演說家,分享了對他來說最重要的5本書:

  • 《Smalltalk Best Practice Patterns》
  • 《重構》 豆瓣評分 9.2
  • 《企業應用架構模式》 豆瓣評分 8.3
  • 《領域驅動設計》 豆瓣評分 8.1
  • 《你的燈亮著嗎?》 豆瓣評分 8.1
  • 《風格的要素》 豆瓣評分 8.2
  • 《寫作法寶》 豆瓣評分 8.5

這份書單里,有沒有你最喜歡的書呢?如果沒有,留言告訴我們對你影響最大的書籍有哪些?

需要更詳細思維導圖和視頻資料的可以加一下技術交流分享群:“603619042”免費獲取

同時我經過多年的收藏目前也算收集到了一套完整的學習資料,包括但不限于:分布式架構、高可擴展、高性能、高并發、Jvm性能調優、Spring,MyBatis,Nginx源碼分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多個知識點高級進階干貨,希望對想成為架構師的朋友有一定的參考和幫助



作者:Java高端架構老王
鏈接:https://juejin.im/post/5cc84cb6518825250e146c61
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


轉載于:https://juejin.im/post/5cbf0ae66fb9a031ec6d2762

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《20170911-構建之法:現代軟件工程-閱讀筆記》

第一章: 介紹軟件工程和軟件的關系,軟件程序軟件工程。 軟件工程是把系統的、有序的、可量化的方法應用到軟件的開發、運營和維護上的過程。 計算機科學這一學術領域可以分為以下這些偏理論的領域: 1.計算機理論 2.信息和編碼理論 3.算法和數…

mysql學習(2)索引的本質

2019獨角獸企業重金招聘Python工程師標準>>> 問題:SQL查詢慢怎么辦? 優化手段,加索引。 索引是幫助MYSQL高效的獲取數據的排好序的數據結構。 問題:索引結構為什么使用Btree而不使用二叉樹,紅黑樹或者HASH結…

bzoj4245: [ONTAK2015]OR-XOR

一道很有意思的題目。 先求一次前綴和,可以發現答案是 (sum[0] xor sum[x1])or(sum[x1] xor sum[x2])or(sum[x2] xor sum[x3])or……or(sum[m-1] xor sum[n]) 然后其實(a xor b)or b a or b 那么sum[0]0,可以把柿子變成 sum[x1] or sum[x2] o…

移動端常見的一些兼容性問題

1、安卓瀏覽器看背景圖片,有些設備會模糊。 是devicePixelRatio作怪,因為手機分辨率太小,如果按照分辨率來顯示網頁,這樣字會非常小,所以蘋果當初就把iPhone 4的960*640分辨率,在網頁里只顯示了480*320&…

go-變量

這次我們學習一下golang語言 gitee: go-study 定義 定義的變量或者函數必須用到(pakeage內的全局除外) var a int // 默認為0 var b string //默認為"" fmt.Printf("%d %q\n",a, s) 復制代碼直接定義可以不寫類型(int..)go會自行判斷 var a, b 3, 4 var …

CSS3:CSS3 文本效果

ylbtech-CSS3:CSS3 文本效果1.返回頂部 1、CSS3 文本效果 CSS3 文本效果 CSS3中包含幾個新的文本特征。 在本章中您將了解以下文本屬性: text-shadowbox-shadowtext-overflowword-wrapword-break瀏覽器支持 屬性 text-shadow4.010.03.54.09.5box-sha…

洛谷 P2296 尋找道路

題目描述 在有向圖G 中,每條邊的長度均為1 ,現給定起點和終點,請你在圖中找一條從起點到終點的路徑,該路徑滿足以下條件: 1 .路徑上的所有點的出邊所指向的點都直接或間接與終點連通。 2 .在滿足…

Feature Preprocessing on Kaggle

剛入手data science, 想著自己玩一玩kaggle,玩了新手Titanic和House Price的 項目, 覺得基本的baseline還是可以寫出來,但是具體到一些細節,以至于到能拿到的出手的成績還是需要理論分析的。 本文旨在介紹kaggle比賽到各種原理與技巧&#xf…

十天沖刺-04

昨天:完成了日歷界面的部署,并且能夠獲取到選中的日期 今天:完成根據日期查找消費記錄功能 問題:日歷界面占用屏幕太多,后期會進行調整轉載于:https://www.cnblogs.com/liujinxin123/p/10760254.html

構建Spring Boot程序有用的文章

構建Spring Boot程序有用的文章: http://www.jb51.net/article/111546.htm轉載于:https://www.cnblogs.com/xiandedanteng/p/7508334.html

如果您遇到文件或數據庫問題,如何重置Joomla

2019獨角獸企業重金招聘Python工程師標準>>> 如果您遇到Joomla站點的問題,那么重新安裝其核心文件和數據庫可能是最佳解決方案。 了解問題 這種方法無法解決您的所有問題。但它主要適用于由Joomla核心引起的問題。 運行Joomla核心更新后,這些…

數組初始化 和 vector初始化

int result[256] {0}; 整個數組都初始化為0 vector<int> B(length,1); 整個vector初始化為1 如果你定義的vector是這樣定義的&#xff1a; vector<int> B; 去初始化&#xff0c;千萬不要用&#xff1a; for(int i 0;i < length;i)B[i] 1; 這樣會數組越界&…

Genymotion模擬器拖入文件報An error occured while deploying the file的錯誤

今天需要用到資源文件&#xff0c;需要將資源文件拖拽到sd卡中&#xff0c;但老是出現這個問題&#xff1a; 資源文件拖不進去genymotion。查看了sd的DownLoad目錄&#xff0c;確實沒有成功拖拽進去。 遇到這種問題的&#xff0c;我按下面的思路排查問題&#xff1a; Genymotio…

激光炸彈(BZOJ1218)

激光炸彈&#xff08;BZOJ1218&#xff09; 一種新型的激光炸彈&#xff0c;可以摧毀一個邊長為R的正方形內的所有的目標。現在地圖上有n(N<10000)個目標&#xff0c;用整數Xi,Yi(其值在[0,5000])表示目標在地圖上的位置&#xff0c;每個目標都有一個價值。激光炸彈的投放是…

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15 not found

解決錯誤呈現該錯誤的原因是當前的GCC版本中&#xff0c;沒有GLIBCXX_3.4.15&#xff0c;須要安裝更高版本。我們可以輸入&#xff1a;strings /usr/lib/libstdc.so.6 | grep GLIBCXX&#xff0c;查看當前的GCC版本&#xff0c;成果如下&#xff1a;GLIBCXX_3.4 GLIBCXX_3.4.1 …

用servlet設計OA管理系統時遇到問題

如果不加單引號會使得除變量和int類型的值不能傳遞 轉發和重定向的區別 轉發需要填寫完整路徑&#xff0c;重定向只需要寫相對路徑。原因是重定向是一次請求之內已經定位到了服務器端&#xff0c;轉發則需要兩次請求每次都需要完整的路徑。 Request和response在解決中文亂碼時的…

JDK源碼——利用模板方法看設計模式

前言&#xff1a; 相信很多人都聽過一個問題&#xff1a;把大象關進冰箱門&#xff0c;需要幾步&#xff1f; 第一&#xff0c;把冰箱門打開&#xff1b;第二&#xff0c;把大象放進去&#xff1b;第三&#xff0c;把冰箱門關上。我們可以看見&#xff0c;這個問題的答案回答的…

[Usaco2010 Mar]gather 奶牛大集會

1827: [Usaco2010 Mar]gather 奶牛大集會 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1129 Solved: 525 [Submit][Status][Discuss]Description Bessie正在計劃一年一度的奶牛大集會&#xff0c;來自全國各地的奶牛將來參加這一次集會。當然&#xff0c;她會選擇最方便的…

與TIME_WAIT相關的幾個內核參數

問題 公司用瀏覽器訪問線上服務一會失敗一會成功&#xff0c;通過ssh連接服務器排查時發現ssh也是這樣&#xff1b; 檢查 抓包后發現建立連接的請求已經到了服務器&#xff0c;但它沒有響應&#xff1b; 糾結了好久&#xff0c;后來在騰訊云技術支持及查了相關資料后發現是開啟…

View的繪制-layout流程詳解

目錄 作用 根據 measure 測量出來的寬高&#xff0c;確定所有 View 的位置。 具體分析 View 本身的位置是通過它的四個點來控制的&#xff1a; 以下涉及到源碼的部分都是版本27的&#xff0c;為方便理解觀看&#xff0c;代碼有所刪減。 layout 的流程 先通過 measure 測量出 Vi…