作為一枚優(yōu)質(zhì)碼農(nóng),除了每天打雞血地奮戰(zhàn)在電腦前,當然少不了定時充充電、喂飽腦掉啦!IT汪汪只身一人遨游于茫茫書海中,去各大IT學習論壇、知乎、網(wǎng)上書店、豆瓣挖出了10本最能提升程序汪bigger的圖書,逼格君推薦給你,還不快收藏?
1、《計算機程序的構(gòu)造和解釋》
Haroid Abelson
每一位嚴肅的計算機科學家都應(yīng)該閱讀這本書。由于本書清晰、簡潔和富于才智,我們強烈推薦本書,它適合所有希望深刻理解計算機科學的人們——Mitchell Wand
這本書是麻省理工學院計算機專業(yè)學生的入門編程教材。書中內(nèi)容涵蓋面很廣,從數(shù)據(jù)抽象、過程抽象、迭代、高階函數(shù)等編程和控制系統(tǒng)復(fù)雜性的思想,到數(shù)據(jù)結(jié)構(gòu)和算法、編譯器/解釋器、編程語言設(shè)計,從不同的層面給予你深刻地啟發(fā)。
其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。它會燃起你編寫出色程序的熱情;它還將教會你認識并欣賞美;它會讓你有種敬畏,讓你難以抑制地渴望學習更多的東西。
2、《代碼大全》
邁克康奈爾
優(yōu)秀的編程實踐的百科全書,《代碼大全》注重個人技術(shù),其中所有東西加起來,就是我們本能所說的“編寫整潔的代碼”。這本書有50頁在談?wù)摯a布局—— Joel Spolsky
這是一本完整的軟件構(gòu)建手冊,涵蓋了軟件構(gòu)建過程中的所有細節(jié)。它從軟件質(zhì)量和編程思想等方面論述了軟件構(gòu)建的各個問題,并詳細論述了緊跟潮流的新技術(shù)、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。本書中所論述的技術(shù)不僅填補了初級與高級編程技術(shù)之間的空白,而且也為程序員們提供了一個有關(guān)編程技巧的信息來源。
本書對經(jīng)驗豐富的程序員、技術(shù)帶頭人、自學的程序員及幾乎不懂太多編程技巧的學生們都是大有裨益的?梢哉f,無論你是什么背景,閱讀本書都會讓你在更短的時間內(nèi)、更容易地寫出更好的程序。
3、《C程序設(shè)計語言》
Brian W.Kernghan
這本書簡潔易讀,會教給你三件事:C 編程語言;如何像程序員一樣思考;底層計算模型 (這對理解“底層”非常重要)—— Nathan
《C程序設(shè)計語言》(第2版新版)全面、系統(tǒng)地講述了C語言的各個特性及程序設(shè)計的基本方法,包括基本概念、類型和表達式、控制流、函數(shù)與程序結(jié)構(gòu)、指針與數(shù)組、結(jié)構(gòu)、輸入與輸出、UNIX系統(tǒng)接口、標準庫等內(nèi)容。
本書的講述深入淺出,配合典型例證,通俗易懂,實用性強,適合作為大專院校計算機專業(yè)或非計算機專業(yè)的C語言教材,也可以作為從事計算機相關(guān)軟硬件開發(fā)的技術(shù)人員的參考書。
4、《算法導(dǎo)論》
Thomas H.Cormen
我依然夢想這樣的工作,我的大部分時間(>50%)是在寫算法,其他“管理”細節(jié)則留給其他人! Ran Biron
這本書深入淺出,全面地介紹了計算機算法。對每一個算法的分析既易于理解又十分有趣,并保持了數(shù)學嚴謹性。本書的設(shè)計目標全面,適用于多種用途。涵蓋的內(nèi)容有:算法在計算中的作用,概率分析和隨機算法的介紹。
書中專門討論了線性規(guī)劃,介紹了動態(tài)規(guī)劃的兩個應(yīng)用,隨機化和線性規(guī)劃技術(shù)的近似算法等,還有有關(guān)遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統(tǒng)計算法,以及對貪心算法元素的討論。此書還介紹了對強連通子圖算法正確性的證明,對哈密頓回路和子集求和問題的NP完全性的證明等內(nèi)容。全書提供了900多個練習題和思考題以及敘述較為詳細的實例研究。
本書內(nèi)容豐富,對本科生的數(shù)據(jù)結(jié)構(gòu)課程和研究生的算法課程都是很實用的教材。本書在讀者的職業(yè)生涯中,也是一本案頭的數(shù)學參考書或工程實踐手冊。
5、《編程珠璣》
Jon Bentley
對每一位遇到的程序員,我都會毫不遲疑地建議他閱讀并不斷重讀這部經(jīng)典之作——Slashdot
多年以來,當程序員們推選出最心愛的計算機圖書時,《編程珠璣》總是位列前列。本書為第一卷,主要討論計算機科學中最本質(zhì)的問題:如何正確選擇和高效地實現(xiàn)算法。
在書中,作者選取許多具有典型意義的復(fù)雜編程和算法問題,生動描繪了歷史上眾大師們在探索解決方案中發(fā)生的軼事、走過的彎路和不斷精益求精的歷程,引導(dǎo)讀者像真正的程序員和軟件工程師那樣富于創(chuàng)新性地思考,并透徹闡述和總結(jié)了許多獨特而精妙的設(shè)計原則、思考和解決問題的方法以及實用程序設(shè)計技巧。解決方案的代碼均以C/C++語言編寫,不僅有趣,而且有很大的實戰(zhàn)示范意義。每章后所附習題極具挑戰(zhàn)性和啟發(fā)性,書末給出了簡潔的解答。
6、《程序員修煉之道》
Andrew Hunt
就像草圖和架構(gòu)之間的差別。雖然你在學校課堂上學到的是畫圖,你也可以畫的很漂亮, 但如果你覺得你不太知道從哪兒下手,如果某人要你獨自畫一個P2P的音樂交換網(wǎng)絡(luò)圖,那這本書就適合你了! Joel
《程序員修煉之道》由一系列獨立的部分組成,涵蓋的主題從個人責任、職業(yè)發(fā)展,到用于使代碼保持靈活并且易于改編和復(fù)用的各種架構(gòu)技術(shù),利用許多富有娛樂性的奇聞軼事、具有思想性的例子及有趣的類比,全面闡釋了軟件開發(fā)的許多不同方面的最佳實踐和重大陷阱。
無論你是初學者,是有經(jīng)驗的程序員,還是軟件項目經(jīng)理,《程序員修煉之道》都適合你閱讀。
7、《編碼》
Petzold
我推薦Charles Petzold的《編碼》。在這個充滿工具和IDE的年代,很多復(fù)雜度已經(jīng)從程序員那“抽取”走了,這本書一本開眼之作——hemil
本書講述的是計算機工作原理。不過,你千萬不要因為“工作原理”之類的字眼就武斷地認為,它是晦澀而難懂的。作者用豐富的想象和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的。
不管你是計算機高手,還是對這個神奇的機器充滿敬畏之心的菜鳥,都不妨翻閱一下本書,讀一讀大師的經(jīng)典作品,必然會有收獲。
8、《重構(gòu)》
Martin Fowler
我必須承認,我最喜歡的編程語錄是出自這本書:任何一個傻瓜都能寫出計算機能理解的程序,而優(yōu)秀的程序員卻能寫出別人能讀得懂的程序—— Martin Fowler
重構(gòu),一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重構(gòu)終于從編程高手們的小圈子走出,成為眾多普通程序員日常開發(fā)工作中不可或缺的一部分。本書也因此成為與《設(shè)計模式》齊名的經(jīng)典著作,被譯為中、德、俄、日等眾多語言,在世界范圍內(nèi)暢銷不衰。
本書清晰揭示了重構(gòu)的過程,解釋了重構(gòu)的原理和最佳實踐方式,并給出了何時以及何地應(yīng)該開始挖掘代碼以求改善。書中給出了70多個可行的重構(gòu),每個重構(gòu)都介紹了一種經(jīng)過驗證的代碼變換手法的動機和技術(shù)。本書提出的重構(gòu)準則將幫助你一次一小步地修改你的代碼,從而減少了開發(fā)過程中的風險。
9、《代碼整潔之道》
Robert C.Martin
雖然《代碼整潔之道》和《代碼大全》有很多共同之處,但它有更為簡潔更為實際的清晰例子——Craig P. Motlin
軟件質(zhì)量,不但依賴于架構(gòu)及項目管理,而且與代碼質(zhì)量緊密相關(guān)。
本書提出一種觀念:代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護、升級奠定了良好基礎(chǔ)。作為編程領(lǐng)域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現(xiàn)為一條條規(guī)則,并輔以來自現(xiàn)實項目的正、反兩面的范例。只要遵循這些規(guī)則,就能編寫出干凈的代碼,從而有效提升代碼質(zhì)量。
本書閱讀對象為一切有志于改善代碼質(zhì)量的程序員及技術(shù)經(jīng)理。書中介紹的規(guī)則均來自作者多年的實踐經(jīng)驗,涵蓋從命名到重構(gòu)的多個編程方面,雖為一“家”之言,然誠有可資借鑒的價值。
10、《人月神話》
弗雷德里克·布魯斯
在軟件領(lǐng)域,很少能有像《人月神話》一樣具有深遠影響力并且暢銷不衰的著作。
Brooks博士為人們管理復(fù)雜項目提供了最具洞察力的見解。 既有很多發(fā)人深省的觀點,又有大量軟件工程的實踐。本書內(nèi)容來自Brooks博士在IBM公司System/360家族和OS/360中的項目管理經(jīng)驗。
該書英文原版一經(jīng)面世,即引起業(yè)內(nèi)人士的強烈反響,后又譯為德、法、日、俄中等多種語言,全球銷量數(shù)百萬冊。 確立了其在行業(yè)內(nèi)的經(jīng)典地位。
|