程式設計師成長之路上的10本必讀書籍

陝西優就業發表於2019-12-04

書籍可以清晰而有條理地陳訴觀點,紙張上的筆墨也會給人一種不慌不忙的感覺。不過,科技類書籍存在一些嚴重的問題:它們幾乎很快就過時了。由於缺乏互動性,此類書籍無法實時展示其概念(或讓讀者玩味這些概念)。它們的頻寬相對較低——例如,需要將長程式碼示例分解為很小的塊,而閱讀這些書便成了件苦差事。

部分科技書籍多年來不斷應對挑戰,保持實用性。這些書籍不再傳授最新程式設計框架的技術細節,而是闡明軟體開發理念,傳授最佳程式設計技術與設計技術,向你介紹軟體行業的工作感受,告訴你成為一名程式設計師意味著什麼。 陝西優就業小編分享這10本相關書籍供大家學習參考。

1.《程式設計師修煉之道》

原作名:《The Pragmatic Programmer: From Journeyman to Master》

作者:(美國)亨特(Andrew Hunt) (美國)托馬斯(David Thomas)

一個好程式設計師需要最佳實踐,並且需要有優秀的思想,遇到具體問題時能夠用最佳方法去處理問題。

“好書應該由好程式設計師來讀,如果你不是好程式設計師,或者不想成為一名好程式設計師,有趣的事情很多,就別在這兒浪費精力了。”

這是一本全球票選的程式設計師必讀書籍,常讀常新的不老神話,從開發到架構,注重實效永不過時。

技術總是在不斷演化與變革的,但是這本書時刻能令人感受到震撼的智慧和力量。

內容簡介:

《程式設計師修煉之道》由一系列獨立的部分組成,涵蓋的主題從個人責任、職業發展,直到用於使程式碼保持靈活、並且易於改編和複用的各種架構技術,利用許多富有娛樂性的奇聞軼事、有思想性的例子及有趣的類比,全面闡釋了軟體開發的許多不同方面的實踐和重大陷阱。

2.《計算機程式的構造和解釋(原書第2版)》

原作名:《Structure and Interpretation of Computer Programs》

作者:(美國)Harold Abelson (美國)Gerald JaySussman Julie (美國)Sussman

這是一本能夠燃起你強烈的學習慾望的程式設計書籍,一本讓你感嘆相見恨晚的書籍,適合所有希望深刻理解電腦科學的人們。

本書於1984年出版,成型於美國麻省理工學院(MIT)多年使用的一本教材,1996年修訂為第2版。

世界各地已有100多所院校採用此書做教材,其中包括美國史丹佛大學、美國普林斯頓大學、英國牛津大學、日本東京大學等。

內容簡介:

第2版中大部分重要程式設計系統都重新修改並做過測試,包括各種直譯器和編譯器。作者根據其後十餘年的教學實踐,還對其他許多細節做了相應的修改。

書中強調了幾個新問題,其中重要的是有關的不同的途徑中,計算模型裡對於時間的處理所起的中心作用:帶有狀態的物件、併發程式設計、函式式程式設計、惰性求值和非確定性程式設計。這裡為併發和非確定性新增加了幾節,我們也設法將這一論題整合到整本書裡,貫穿始終。

3.《人月神話》

原作名:《The Mythical Man-Month:Essays on Software Engineering Anniversary Edition》

作者:(美)Frederick P.Brooks (小弗雷德裡克·布魯克斯)

乍看書名,你大概以為這是諸如星月神話之類的神話小說。

然而,這是一本經久不衰的傳奇經典,顛覆了軟體專案管理領域!

無論你是軟體開發、軟體專案經理還是系統分析師,這都是你的必備聖經!

經典之所以成為經典,是因為讓人任何時候讀起來都會有不同的感受。

在軟體領域,很少能有像《人月神話》一樣具有深遠影響力和暢銷不衰的著作。

內容簡介:

本書內容源於作者Brooks在IBM公司任System/360計算機系列以及其龐大的軟體系統OS/360專案經理時的實踐經驗,該專案堪稱軟體開發專案管理的典範。

在本書中,Brooks為人們管理複雜專案提供了最具洞察力的見解,既有很多發人深省的觀點,又有大量軟體工程的實踐,為每個複雜專案的管理者給出了自己的真知灼見。

大型程式設計專案深受由於人力劃分產生的管理問題的困擾,保持產品本身的概念完整性是一個至關重要的需求。本書探索了達成一致性的困難和解決的方法,並探討了軟體工程管理的其他方面。

該書英文原版一經面世,即引起業內人士的強烈反響,後又譯為德、法、日、俄、中、韓等多種文字,全球銷售數百萬冊,確立了其在行業內的經典地位。

4.《人件》

原作名: People ware

作者: Tom DeMarco / Timothy Lister

軟體管理領域少有與之媲美的著作,近30年全球暢銷不衰。

與《人月神話》共同被譽為軟體圖書領域“兩朵鮮豔的奇葩”。

《人月神話》關注“軟體開發”本身,《人件》則關注軟體開發中的“人”。

任何需要管理軟體專案或軟體組織的人員都能從書中尋找到有價值的建議。

內容簡介:

本書專門討論了軟體開發和維護團隊的管理問題,並向人們的傳統認識提出了挑戰。

深刻地洞察到軟體開發的和維護問題不在於技術,而在於人。

作者在書中推崇人本管理思想,正確指出知識型企業的核心是人,而不是技術,呼籲給予軟體工作者充分的自由和信任。任何需要管理軟體專案或軟體組織的人員都能從本書中尋找到有價值的建議。

全書從管理人力資源、建立健康的辦公環境、僱用並留用正確的人、高效團隊形成、改造企業文化和快樂工作等多個角度闡釋瞭如何思考和管理軟體開發的大問題——人(而不是技術),以得到高效的專案和團隊。

5.《重構:改善既有程式碼的設計》

原作名:《Refactoring: Improving the Design of Existing Code》

作者:Martin Fowler

軟體開發的不朽經典!

一個好的程式設計師要求能夠主動自然地重構程式碼,需對本書中提到的70多個重構方法成竹在胸。

作者對程式碼的整理不像是一種技術,更像是一種藝術。

本書凝聚了軟體開發社群專家多年摸索而獲得的寶貴經驗,擁有不因時光流逝而磨滅的價值。

內容簡介:

重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善程式碼。

本書清晰揭示了重構的過程,解釋了重構的原理和具體的實踐方式,並給出了何時以及何地應該開始挖掘程式碼以求改善。

書中每個重構都介紹了一種經過驗證的程式碼變換手法的動機和技術。

本書提出的重構準則將幫助你一次一小步地修改你的程式碼,從而減少了開發過程中的風險。

6.《駭客與畫家》

原作名:《Hackers and Painters: Big Ideas from the Computer Age》

作者:Paul Graham

“此書將迫使你重新思考計算機程式設計的本質。”

這本書不僅僅適合程式設計師,一切對計算機行業感興趣的讀者。

為什麼書呆子不受歡迎?他們的心思在別的地方。

駭客也是創造者,與畫家、建築師、作家一樣。

內容簡介:

本書是矽谷創業之父Paul Graham 的文集,主要介紹駭客即優秀程式設計師的愛好和動機,討論駭客成長、駭客對世界的貢獻以及程式語言和駭客工作方法等所有對計算機時代感興趣的人的一些話題。

書中的內容不但有助於瞭解計算機程式設計的本質、網際網路行業的規則,還會幫助讀者瞭解我們這個時代,迫使讀者獨立思考。

“我們生活中的一切 ,都正在成為計算機 。所以 ,如果你想理解我們目前的世界以及它的未來動向 ,那麼多瞭解一些駭客的想法會對你有幫助 。”

7.《程式設計珠璣》

原作名: 《Programming Pearls Second Edition》

作者:Jon Bentley

歷史上偉大的電腦科學經典名著之一。

融深邃思想、實戰技術與趣味軼事於一爐的奇書。

帶你真正領略電腦科學之美。

內容簡介:

本書內容圍繞程式設計人員面對的一系列實際問題展開。

作者以其獨有的洞察力和創造力,引導讀者理解這些問題並學會解決方法,而這些正是程式設計師實際程式設計生涯中至關重要的。

本書的特色是透過一些精心設計的有趣而又頗具指導意義的程式,對實用程式設計技巧及基本設計原則進行了透徹而睿智的描述,為複雜的程式設計問題提供了清晰而完備的解決思路。

本書對各個層次的程式設計師都具有很高的閱讀價值。

8.《程式碼大全(第2版)》

原作名:Code Complete (Second Edition)

作者:Steve McConnell(史蒂夫·邁克康奈爾)

“這本書是講述軟體構建的權威指南,準備孤身前往荒島的程式設計師只要帶上這本書就足夠了。”

這也是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。

這本書對經驗豐富的程式設計師、技術帶頭人、自學的程式設計師及幾乎不懂太多程式設計技巧的學生們都是大有裨益的。

內容簡介:

第2版的《程式碼大全》是著名IT暢銷書作者史蒂夫·邁克康奈爾11年前的經典著作的全新演繹。第2版不是第一版的簡單修訂增補,而是完全進行了重寫;增加了很多與時俱進的內容。

它從軟體質量和程式設計思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程式示例。

這本書中所論述的技術不僅填補了初級與高階程式設計技術之間的空白,而且也為程式設計師們提供了一個有關程式設計技巧的資訊來源。

9.《深入理解計算機系統(原書第三版)》

原作名:《Computer Systems:A Programmer's Perspective》

作者: (美)Randal E.Bryant,(美) David R.O'Hallaron

理解計算機系統首選書目。

計算機系統領域權威之作!

從程式設計師視角全面剖析的實現細節,使讀者深刻理解程式的行為,將所有計算機系統的相關知識融會貫通。

內容簡介:

主要介紹了計算機系統的基本概念,包括最底層的記憶體中的資料表示、流水線指令的構成、虛擬儲存器、編譯系統、動態載入庫,以及使用者應用等。

書中提供了大量實際操作,可以幫助讀者更好地理解程式執行的方式,改程式序的執行效率。程式設計師的視角全面講解了計算機系統,深入淺出地介紹了處理器、編譯器、作業系統和網路環境,是這一領域的權威之作。

本版內容上最大的變化是,從以IA32和x86-64為基礎轉變為完全以x86-64為基礎。

10.《演算法導論》

原作名: 《Introduction to Algorithms, Third Edition》

作者:Thomas H. Cormen(托馬斯•科爾曼)

計算機出現之前,就有了演算法,演算法是計算的核心。

本書將計算機複雜的演算法,通俗易懂的講清楚。

書中對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。

IT專業人員職業生涯中,一本案頭必備的參考書或工程實踐手冊。

內容簡介:

本書將嚴謹性和全面性融為一體,深入討論各類演算法,並著力使這些演算法的設計和分析能為各個層次的讀者接受。

全書各章自成體系,可以作為獨立的學習單元;演算法以英語和虛擬碼的形式描述,具備初步程式設計經驗的人就能看懂;說明和解釋力求淺顯易懂,不失深度和數學嚴謹性。

全書選材經典、內容豐富、結構合理、邏輯清晰,對本科生的資料結構課程和研究生的演算法課程都是非常實用的教材。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2666805/,如需轉載,請註明出處,否則將追究法律責任。

相關文章