作品介紹

程序員必讀書單:15本頂級精選好書,做一個優(yōu)秀的程序員


作者:著名作家     整理日期:2022-11-12 02:44:54

  1024程序員節(jié)1024程序員節(jié)是廣大程序員的共同節(jié)日。1024是2的十次方,二進制計數(shù)的基本計量單位之一。針對程序員經(jīng)常周末加班與工作日熬夜的情況,部分互聯(lián)網(wǎng)機構(gòu)倡議每年的10月24日為1024程序員節(jié),在這一天建議程序員拒絕加班。
  程序員就像是一個個1024,以最低調(diào)、踏實、核心的功能模塊搭建起這個科技世界。1G=1024M,而1G與1級諧音,也有一級棒的意思。
  ——來自百度百科
  
  跟著頂級程序員們學習做一個優(yōu)秀的程序員,15本精選好書收藏好!
  1、解構(gòu)領(lǐng)域驅(qū)動設(shè)計張逸 著
  
  本書全面闡釋了領(lǐng)域驅(qū)動設(shè)計(domain-driven design,DDD)的知識體系,內(nèi)容覆蓋領(lǐng)域驅(qū)動設(shè)計的主要模式與主流方法,并在此基礎(chǔ)上提出“領(lǐng)域驅(qū)動設(shè)計統(tǒng)一過程”(domain-driven design unified process,DDDUP),將整個軟件構(gòu)建過程劃分為全局分析、架構(gòu)映射和領(lǐng)域建模3個階段。除給出諸多案例來闡釋領(lǐng)域驅(qū)動設(shè)計統(tǒng)一過程中的方法與模式之外,本書還通過一個真實而完整的案例全面展現(xiàn)了如何進行領(lǐng)域驅(qū)動設(shè)計統(tǒng)一過程的實施和落地。為了更好地運用領(lǐng)域驅(qū)動設(shè)計統(tǒng)一過程,本書還開創(chuàng)性地引入了業(yè)務(wù)服務(wù)、菱形對稱架構(gòu)、領(lǐng)域驅(qū)動架構(gòu)、服務(wù)驅(qū)動設(shè)計等方法與模式,總結(jié)了領(lǐng)域驅(qū)動設(shè)計能力評估模型與參考過程模型。本書提出的一整套方法體系已在多個項目中推廣和落地。
  2、數(shù)據(jù)結(jié)構(gòu) Python語言描述 第2版[美] 肯尼思·,A.蘭伯特(Kenneth,A.,Lambert,) 著,肖鑒明 譯
  
  1.美國華盛頓與李大學(Washington and Lee University)計算機科學系肯尼思·A. 蘭伯特(Kenneth A. Lambert)教授的全新力作。
2.國外著名高等院校信息科學與技術(shù)優(yōu)秀教材升級版。
3.采用Python語言循序漸進的講解數(shù)據(jù)結(jié)構(gòu)及實現(xiàn)方法,內(nèi)容全面,包括編程基礎(chǔ)、面向?qū)ο缶幊、?shù)據(jù)結(jié)構(gòu)以及軟件開發(fā)生命周期。
4.書中包含大量實戰(zhàn)案例研究,復(fù)習題和編程項目,幫助讀者鞏固所學知識。
  3、重構(gòu) 改善既有代碼的設(shè)計(第2版 平裝版)[美] 馬丁·福勒(Martin Fowler) 著,熊節(jié),林從羽 譯
  
  1. 軟件開發(fā)大師的不朽經(jīng)典
2. 生動闡述重構(gòu)原理和具體做法   
3. 普通程序員進階到編程高手必須修煉的秘笈
  重構(gòu),一言以蔽之,是在不改變外部行為的前提下,有條不紊地改善代碼。20 多年前,正是《重構(gòu):改善既有代碼的設(shè)計》第1 版的出版,使重構(gòu)終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發(fā)工作中不可或缺的一部分。如今,Martin Fowler 的《重構(gòu):改善既有代碼的設(shè)計》一書已經(jīng)成為全球有經(jīng)驗的程序員手中的利器,既可用來改善既有代碼的設(shè)計、提升軟件的可維護性,又可用于使既有代碼更易理解、煥發(fā)出新的活力。
  4、代碼整潔之道羅伯特·C.,馬。≧obert,C.,Martin) 著,韓磊 譯
  
  “閱讀這本書有兩種原因:第一,你是個程序員;第二,你想成為更好的程序員。很好,IT行業(yè)需要更好的程序員!”——羅伯特·C. 馬。≧obert C. Martin)
  盡管糟糕的代碼也能運行,但如果代碼不整潔,會使整個開發(fā)團隊泥足深陷,寫得不好的代碼每年都要耗費難以計數(shù)的時間和資源。但是,這種情況并非無法避免。
著名軟件專家羅伯特·C. 馬丁(Robert C. Martin) 在本書中為你呈現(xiàn)了革命性的視野。他攜同Object Mentor公司的同事,從他們有關(guān)整潔代碼的*佳敏捷實踐中提煉出軟件技藝的價值觀,以饗讀者,讓你成為更優(yōu)秀的程序員——只要你著手研讀本書。
  5、Python編程快速上手 讓繁瑣工作自動化 第2版[美] 阿爾·斯維加特(Al Sweigart) 著
  
  Python編程從入門到實踐姊妹篇,零基礎(chǔ)自學Python教程書籍。
  原版圖書美亞評分4.7星,被150+高校選用,初版譯著豆瓣評分8.9分!
  1.暢銷書升級版,第1版累計銷售近20w冊;
  2.針對Python 3.X 版本更新,更新項目代碼;
  3.掃碼看視頻,邊看邊學,掃描書中二維碼,觀看為本書量身定制的教學視頻;
  4.提供在線編程環(huán)境幫助讀者邊學邊練;
  5.隨書贈送本書e讀版電子書;
  6.隨書贈送全書思維導(dǎo)圖;
  7.隨書贈送本書習題答案;
  8.提供本書源代碼;
  6、Python神經(jīng)網(wǎng)絡(luò)編程[英] 塔里克·拉希德(Tariq Rashid) 著
  
  這是一本精心編寫、給完全初學者的圖書。它帶領(lǐng)讀者構(gòu)建一個真正、有效的神經(jīng)網(wǎng)絡(luò),而不需要讀者具備任何復(fù)雜的數(shù)學知識和深度學習的理論。
  ——M Ludvig
  強烈推薦本書。這本書使得人工神經(jīng)網(wǎng)絡(luò)的概念非常清晰而容易理解。讀者應(yīng)該嘗試重復(fù)本書中給出的示例,以便讓本書發(fā)揮大的作用。我就是這么做的,效果不錯!
  ——美亞的一位讀者
  本書首先從簡單的思路著手,詳細介紹了理解神經(jīng)網(wǎng)絡(luò)如何工作所必須的基礎(chǔ)知識。第一部分介紹基本的思路,包括神經(jīng)網(wǎng)絡(luò)底層的數(shù)學知識,第2部分是實踐,介紹了學習Python編程的流行和輕松的方法,從而逐漸使用該語言構(gòu)建神經(jīng)網(wǎng)絡(luò),以能夠識別人類手寫的字母,特別是讓其像專家所開發(fā)的網(wǎng)絡(luò)那樣地工作。第3部分是擴展,介紹如何將神經(jīng)網(wǎng)絡(luò)的性能提升到工業(yè)應(yīng)用的層級,甚至讓其在Raspberry Pi上工作。
  7、像計算機科學家一樣思考Python 第2版[美] 艾倫·B.唐尼(Allen B.Downey) 著,趙普明 譯
  
  如果想要學習如何編程,從Python語言入手是一個很好的開端。本書從基本的編程概念開始,一步步引導(dǎo)讀者了解Python語言,再逐漸掌握函數(shù)、遞歸、數(shù)據(jù)結(jié)構(gòu)和面向?qū)ο笤O(shè)計等高階概念。本書第2版及其輔助代碼均已升級,支持Python 3。
  每章后的練習可以幫助讀者加深對剛學的編程概念的理解。本書是高中和大學階段的學生、自學者,以及需要了解編程基礎(chǔ)的專業(yè)人士的理想讀物。初學者可以在瀏覽器中學習如何開始Python編程。
  8、Go語言實戰(zhàn)
  Go語言實戰(zhàn)目標讀者是已經(jīng)有一定其他編程語言經(jīng)驗,想要開始學習Go 語言或者更深入了解Go 語言及其內(nèi)部機制的中級開發(fā) 者。本書會提供一個專注、全面且符合習慣的視角。本書關(guān)注Go 語言的規(guī)范和實現(xiàn),涉及的內(nèi)容包括語法、Go 的類型系統(tǒng)、并發(fā)、通道和測試等主題。
  Go語言實戰(zhàn) 主要內(nèi)容
● Go語言規(guī)范和實現(xiàn)。
● Go語言的類型系統(tǒng)。
● Go語言的數(shù)據(jù)結(jié)構(gòu)的內(nèi)部實現(xiàn)。
● 測試和基準測試。
  9、算法設(shè)計喬恩·克萊因伯格(Jon Kleinberg) 著,王海鵬 譯
  
  1.眾多名校采用的算法設(shè)計課程教材;
2.用實際示例闡明枯燥的算法理論;
3.更注重算法設(shè)計思路而非算法復(fù)雜度分析;
4.本書覆蓋面廣,且含有200多道精彩的習題,最后還擴展了PSPACE問題、參數(shù)復(fù)雜性等內(nèi)容。
  這是一本被眾多名校采用的算法設(shè)計課程教材,強調(diào)用實際示例闡明枯燥的算法理論,更注重算法設(shè)計思路而非算法復(fù)雜度分析。本書采用新穎的教學方式,通過分析真實世界的問題來激發(fā)算法思想。兩位作者以一種清晰、直接的方式,指導(dǎo)學生自己分析和定義問題,并從中找出適用于給定場景的算法設(shè)計原則。本書鼓勵讀者更深入地理解算法設(shè)計過程,探索算法在計算機科學的更廣闊領(lǐng)域中的應(yīng)用。
  10、領(lǐng)域特定語言[美] 馬丁·福勒(Martin Fowler) 著,徐昊,鄭曄,熊節(jié) 譯
  
  1.本書由世界軟件開發(fā)大師Martin Fowler歷時多年完成,堪稱DSL領(lǐng)域的豐碑之作,書中充分介紹了在適用的場景中構(gòu)建DSL的多種有效技。
2.本書介紹的技巧可用于大多數(shù)現(xiàn)代面向?qū)ο笳Z言。書中給出了許多采用Java和C#編寫的示例,并精選了部分適合采用Ruby編寫的示例。
3.通過這部內(nèi)容豐富、覆蓋范圍廣泛的著作,開發(fā)人員能夠掌握做出DSL重要決策所需的知識,并在恰當使用DSL時獲得技術(shù)和業(yè)務(wù)上的顯著收益。
4.通過閱讀本書,軟件開發(fā)人員可全面的了解各種DSL及其構(gòu)建方式,提高開發(fā)生產(chǎn)力和溝通能力。
  11、C++語言的設(shè)計和演化[美] 本賈尼·斯特勞斯特盧普,[,Bjarne,Stroustrup,] 著,裘宗燕 譯
  
  1.本書作者Bjarne Stroustrup(本賈尼·斯特勞斯特盧普)被譽為“C++之父”,本書也是作者最重要的專業(yè)著作之一;
2.譯者裘宗燕,北京大學數(shù)學學院信息科學系教授,同時也是知名的程序設(shè)計專家,著有《從問題到程序——程序設(shè)計與C語言引論》、《數(shù)據(jù)結(jié)構(gòu)與算法:Python語言描述》等;
3.C++綜合性著作:描述C++語言的發(fā)展歷史、設(shè)計理念及技術(shù)細節(jié),對C++語言機制的設(shè)計和發(fā)展的解讀是非常難得的寶貴資料。
  12、自然語言處理實戰(zhàn) 利用Python理解、分析和生成文本[美] 霍布森·萊恩,科爾·霍華德,漢納斯·馬克斯·哈普克 著,史亮,魯驍,唐可欣,王斌 譯
  
  1.本書是構(gòu)建能夠閱讀和解釋人類語言的機器的實用指南;
2.讀者可以使用現(xiàn)有的Python 包來捕獲文本的含義并相應(yīng)地做出響應(yīng);
3.本書擴展了傳統(tǒng)的自然語言處理方法,包括神經(jīng)網(wǎng)絡(luò)、現(xiàn)代深度學習算法和生成技術(shù),用于解決真實世界的問題,如提取日期和名稱、合成文本和回答無固定格式的問題;
4.提供源代碼。
  深度學習領(lǐng)域的**進展使各類應(yīng)用能夠極其精準地理解文本和語音。其結(jié)果是,聊天機器人能夠模仿真人篩選出與職位高度匹配的簡歷,完成卓越的預(yù)測性搜索,自動生成文檔摘要——所有這些都能夠以很低的成本實現(xiàn)。新技術(shù)的發(fā)展連同Keras 和TensorFlow之類的易用工具的出現(xiàn),使專業(yè)品質(zhì)的自然語言處理(NLP)比以往任何時候都更容易實現(xiàn)。
  13、UNIX傳奇:歷史與回憶[美] 布萊恩·W.克尼漢(Brian,W.,Kernighan) 著,韓磊 譯
  
  1. 計算機先驅(qū)布萊恩·W. 克尼漢,繼《C程序設(shè)計語言》后的全新力作!
2. 跨越50年歷史河流,帶你走進貝爾實驗室,親歷IT發(fā)展史實。
(1)以肯·湯普森、丹尼斯·里奇、道格·麥基爾羅伊等傳奇人物小傳,串聯(lián)成20世紀一系列重要發(fā)明的起源/發(fā)展線路圖。
(2)以Unix的誕生與迭代、優(yōu)秀而開明的管理體制、有遠見的持續(xù)投資等精彩故事,揭示出貝爾實驗室如何孕育出科技創(chuàng)新的真相。
(3)以Unix誕生見證者回憶往事的輕松口吻和不為人知的有趣圖片,述說Unix的“設(shè)計哲學”如何被計算機世界有效利用且延續(xù)至今。
  14、領(lǐng)域驅(qū)動設(shè)計:軟件核心復(fù)雜性應(yīng)對之道(修訂版)[美] 埃里克·埃文斯(Eric Evans) 著,趙俐,盛海艷,劉霞 譯
  
  “領(lǐng)域驅(qū)動設(shè)計之父”經(jīng)典著作眾多聲名顯赫軟件大師鼎力推薦凝聚領(lǐng)域建模專家數(shù)十年的實戰(zhàn)經(jīng)驗深度剖析構(gòu)建高質(zhì)量復(fù)雜系統(tǒng)的核心技術(shù)
  領(lǐng)域模型使開發(fā)人員可以表達豐富的軟件功能需求,由此實現(xiàn)的軟件可以滿足用戶真正的需要,因此被公認為是軟件設(shè)計的關(guān)鍵所在,其重要性顯而易見。但講述如何將領(lǐng)域模型用于軟件開發(fā)過程的杰出的實用資料卻不多見。本書正是這一領(lǐng)域聲名顯赫的作品,受到眾多業(yè)界大師的贊美和推介,廣受讀者好評。
  15、人工智能(第2版)[美] 史蒂芬·盧奇(Stephen Lucci),丹尼·科佩克(Danny Kopec) 著
  
  本書是作者結(jié)合多年教學經(jīng)驗、精心撰寫的一本人工智能教科書,堪稱“人工智能的百科全書”。全書涵蓋了人工智能簡史、搜索方法、知情搜索、博弈中的搜索、人工智能中的邏輯、知識表示、產(chǎn)生式系統(tǒng)、專家系統(tǒng)、機器學習和神經(jīng)網(wǎng)絡(luò)、遺傳算法、自然語言處理、自動規(guī)劃、機器人技術(shù)、高級計算機博弈、人工智能的歷史和未來等主題。
  本書提供了豐富的教學配套資源,適合作為高等院校人工智能相關(guān)專業(yè)的教材,也適合對人工智能相關(guān)領(lǐng)域感興趣的讀者閱讀和參考。
  基于人工智能的理論基礎(chǔ),展示全面、新穎、豐富多彩且易于理解的人工智能知識體系。加入關(guān)于機器人和機器學習的新章節(jié),并在自然語言處理在自然語言處理部分包括了關(guān)于語音理解和隱喻的小節(jié)。給出諸多的示例、應(yīng)用程序、全彩圖片和人物軼事,以激發(fā)讀者的學習興趣。通過實際應(yīng)用引入重 要的人工智能概念,例如機器人技術(shù)、人工智能在視頻游戲中的應(yīng)用、神經(jīng)網(wǎng)絡(luò)、機器學習等。包含300多幅圖,詳細描述了人工智能方法在實際工作中的問題,并給出了部分習題的解答。提供本書所涉及的資源、仿真和書中的圖。為采用本書作為教材的教師提供豐富的教學支持資源,包括習題解答、教學PPT等。





上一本:程序員自學從哪個入門?來看看從小白程序員到大廠技術(shù)我看過哪些書籍? 下一本:科普類書籍書目推薦:湛盧新書給科學家的科學思維

作家文集

下載說明
程序員必讀書單:15本頂級精選好書,做一個優(yōu)秀的程序員的作者是著名作家,全書語言優(yōu)美,行文流暢,內(nèi)容豐富生動引人入勝。為表示對作者的支持,建議在閱讀電子書的同時,購買紙質(zhì)書。

更多好書