技術(shù)人必讀:19本免費(fèi)指南性編程書(shū)籍
譯文無(wú)論是物理實(shí)體還是數(shù)字化信息,一本優(yōu)秀的技術(shù)書(shū)籍總能吸引到編程新手與開(kāi)發(fā)老鳥(niǎo)的關(guān)注。也許正因?yàn)槿绱耍瑫?shū)籍才能成為真理的載體,幫助讀者在給定時(shí)間段之內(nèi)掌握自己需要了解的議題以及學(xué)習(xí)途徑。
但從另一個(gè)角度出發(fā),編程類(lèi)書(shū)籍往往價(jià)格不菲。我案頭這本由Mark Lutz撰寫(xiě)的《Python學(xué)習(xí)》大部頭定價(jià)高達(dá)59.99美元。不過(guò)各位無(wú)需灰心,涉及編程語(yǔ)言、框架、應(yīng)用程序、系統(tǒng)以及相關(guān)規(guī)則的免費(fèi)電子書(shū)及PDF文檔同樣多種多樣。
上面我就結(jié)合自己的積累為大家推薦19部免費(fèi)論著,其難度適用范圍由毫無(wú)基礎(chǔ)的初學(xué)者到經(jīng)驗(yàn)豐富的開(kāi)發(fā)老鳥(niǎo)皆有涵蓋,內(nèi)容也囊括了大量熱門(mén)議題與語(yǔ)言類(lèi)型。
Python: 《Python 3深入剖析》
目前眾多Python開(kāi)發(fā)人員以及一系列Linux發(fā)行版本都將Python 3作為優(yōu)于Python 2的長(zhǎng)期開(kāi)發(fā)方案選項(xiàng),程序員們則亟需一套幫助他們從零入手并對(duì)其加以充分運(yùn)用的指南性文獻(xiàn)?!禤ython深入剖析》探討的正是這一議題,而且非常適合作為Python語(yǔ)言的概述資料。書(shū)中甚至還通過(guò)專(zhuān)門(mén)章節(jié)介紹由Python 2代碼向Python 3的轉(zhuǎn)換。
C++/Java/Python: 《審視Python/C++/Java:如何像計(jì)算機(jī)科學(xué)家那樣思考》
Python語(yǔ)言的另一套概述性資料名為《審視Python》,其中以更為細(xì)化的方式詳盡介紹了該語(yǔ)言的各個(gè)側(cè)面。作為該文獻(xiàn)的出版方,Green Tea Press還針對(duì)C++及Java推出了相關(guān)資料,并全部由Allen B. Downey主筆。而且歸功于該系列書(shū)籍的開(kāi)源特性,讀者們也可以針對(duì)不同的標(biāo)題提供英語(yǔ)之外的其它翻譯版本。
Git: 《憑借Git學(xué)習(xí)版本控制》
開(kāi)源絕不僅僅是一種編程風(fēng)格,而GitHub(以及作為其基礎(chǔ)的開(kāi)源工具Git)的迅速風(fēng)靡也將源代碼及版本控制方案帶入了萬(wàn)千普通程序員手中。不過(guò)Git的使用感受實(shí)在有些棘手,所以這本論著從初學(xué)者的角度出發(fā)(包括非程序員及項(xiàng)目經(jīng)理),幫助大家了解Git如何支持程序員完成所開(kāi)發(fā)代碼的版本控制工作。其適用范圍包括OS X以及命令行用戶(hù),但Windows用戶(hù)目前只適用于其中的命令行部分。
C/Python/Ruby: 《勤學(xué)苦練》
Zed Shaw的《勤學(xué)苦練》系列編程叢書(shū)已經(jīng)擁有了一大批忠實(shí)的讀者群體。本系列資料堅(jiān)持認(rèn)為,編程語(yǔ)言的學(xué)習(xí)者應(yīng)當(dāng)***程度增加親手參與練習(xí)的可能性,而這一指導(dǎo)思想也與叢書(shū)標(biāo)題***對(duì)應(yīng)。Shaw在三部論著中分別介紹了C語(yǔ)言、Python以及Ruby的相關(guān)知識(shí)。除了討論相關(guān)語(yǔ)言的前端與核心之外,他還以鮮見(jiàn)于其它指南資料的詳盡方式深入介紹了這幾種語(yǔ)言的開(kāi)發(fā)細(xì)則。
Clojure: 《Clojure ——面向JVM的函數(shù)編程》
作為一款運(yùn)行在Java虛擬機(jī)環(huán)境下的類(lèi)LISP語(yǔ)言,Clojure已經(jīng)憑借著其出色的函數(shù)編程(本身亦是一大熱門(mén)議題)實(shí)現(xiàn)能力成為開(kāi)發(fā)人員通往成功的快車(chē)票,且允許程序員充分發(fā)揮其現(xiàn)有Java生態(tài)系統(tǒng)之潛力。不過(guò)對(duì)于那些不熟悉LISP語(yǔ)法的初學(xué)者們來(lái)說(shuō),Clojure的探索之路實(shí)在堪稱(chēng)崎嶇而坎坷,因此這部專(zhuān)門(mén)引導(dǎo)大家掌握Clojure語(yǔ)法、概念及實(shí)現(xiàn)方式的論著也就應(yīng)運(yùn)而生。水平較高的Clojure程序員們則可以閱讀《Clojure烹飪指南》一書(shū),其中提供了大量將該語(yǔ)言應(yīng)用于實(shí)際生產(chǎn)環(huán)境當(dāng)中的優(yōu)秀實(shí)例。
Linux: 《從零開(kāi)始學(xué)習(xí)Linux》
常言說(shuō)得好,最理想的學(xué)習(xí)方式就是實(shí)踐,而《從零開(kāi)始學(xué)習(xí)Linux》的目標(biāo)正是引導(dǎo)大家從零基礎(chǔ)開(kāi)始一步小構(gòu)建起一套Linux系統(tǒng)。目前幾乎沒(méi)有多少論著會(huì)以如此詳盡、深入且全面的方式對(duì)Linux加以審視,而且也并不是所有打算在內(nèi)部生產(chǎn)環(huán)境中使用Linux系統(tǒng)的用戶(hù)都愿意以如此細(xì)致的角度對(duì)這套平臺(tái)的目標(biāo)及功能加以了解。作為這場(chǎng)學(xué)習(xí)遠(yuǎn)征的后續(xù)任務(wù),《從零開(kāi)始實(shí)現(xiàn)Linux攻堅(jiān)》與《從零開(kāi)始實(shí)現(xiàn)Linux自動(dòng)化》將幫助大家進(jìn)一步提升技術(shù)水平。
Go: 《Go語(yǔ)言編程概述》
這部論著提供一整套面向Go語(yǔ)言(或者稱(chēng)為Golang)的簡(jiǎn)潔而直觀(guān)的多平臺(tái)概述。谷歌公司打造的這款類(lèi)C語(yǔ)言已經(jīng)引發(fā)了越來(lái)越多技術(shù)人員的關(guān)注與興趣。該書(shū)以一整個(gè)章節(jié)介紹了Go語(yǔ)言的核心關(guān)鍵點(diǎn)之一——其并發(fā)特性——并以粗細(xì)有度的方式講解了Go語(yǔ)言的核心軟件包。如果大家希望從另一個(gè)角度學(xué)習(xí)Go,也可以參閱《通過(guò)實(shí)例學(xué)Go語(yǔ)言》一書(shū),其中解釋內(nèi)容較為簡(jiǎn)短、但提供豐富的范例資料。
JavaScript: 《人與JavaScript》
Douglas Crockford撰寫(xiě)的《JavaScript:正面解讀》是我在JavaScript學(xué)習(xí)過(guò)程中接觸到近最出色的一本指南?!度伺cJavaScript》旨在教育讀者如何更為高效地利用JavaScript開(kāi)發(fā)各類(lèi)最常見(jiàn)的應(yīng)用程序:構(gòu)建具備可讀性及可維護(hù)性(也就是‘人’的因素)的原生HTML 5應(yīng)用程序。如果大家還希望從更細(xì)化角度審視下一代JavaScript的各方面特性,建議各位參閱《掌握ECMAScript 6》一書(shū)。
Hadoop: 《照亮Hadoop征程》
這部以Hadoop為核心內(nèi)容的論著并不僅僅針對(duì)技術(shù)讀者,同時(shí)也適用于其它缺乏技術(shù)知識(shí)儲(chǔ)備但對(duì)大數(shù)據(jù)頗為關(guān)注的群體?!墩樟罤adoop征程》一書(shū)確實(shí)從極為細(xì)致的角度講解了Hadoop生態(tài)系統(tǒng)中陸續(xù)涌現(xiàn)的多種新元素——例如Spark等——但YARN等要素卻沒(méi)能得到應(yīng)有的關(guān)注與介紹篇幅。不過(guò)作為一套自上而下的整體概述資料,其實(shí)用性仍然毋庸置疑。
編程理論: 《計(jì)算機(jī)程序架構(gòu)及注釋》
PDF格式版本HTML 5端口作為現(xiàn)代計(jì)算教科書(shū)中的元祖級(jí)成員,SICP(縮寫(xiě))是一套麻省理工學(xué)院用于編程教學(xué)的標(biāo)準(zhǔn)化教材。其學(xué)習(xí)難度較高,而且選擇以L(fǎng)ISP為核心介紹編程理論(這一定位本身亦成為潛在劣勢(shì))。但眾多程序員在閱讀之后實(shí)現(xiàn)了***性的思維轉(zhuǎn)換。該論著目前提供PDF格式版本以及一套HTML 5端口。
原文標(biāo)題:Free books! 19 no-cost programming guides