技術人必讀:19本免費指南性程式設計書籍

51cto發表於2015-03-12

  無論是物理實體還是數字化資訊,一本優秀的技術書籍總能吸引到程式設計新手與開發老鳥的關注。也許正因為如此,書籍才能成為真理的載體,幫助讀者在給定時間段之內掌握自己需要了解的議題以及學習途徑。

  但從另一個角度出發,程式設計類書籍往往價格不菲。我案頭這本由Mark Lutz撰寫的《Python學習》大部頭定價高達59.99美元。不過各位無需灰心,涉及程式語言、框架、應用程式、系統以及相關規則的免費電子書及PDF文件同樣多種多樣。

  上面我就結合自己的積累為大家推薦19部免費論著,其難度適用範圍由毫無基礎的初學者到經驗豐富的開發老鳥皆有涵蓋,內容也囊括了大量熱門議題與語言型別。

  Python: 《Python 3深入剖析

  目前眾多Python開發人員以及一系列Linux發行版本都將Python 3作為優於Python 2的長期開發方案選項,程式設計師們則亟需一套幫助他們從零入手並對其加以充分運用的指南性文獻。《Python深入剖析》探討的正是這一議題,而且非常適合作為Python語言的概述資料。書中甚至還通過專門章節介紹由Python 2程式碼向Python 3的轉換。

  C++/Java/Python: 《審視Python/C++/Java:如何像電腦科學家那樣思考

  Python語言的另一套概述性資料名為《審視Python》,其中以更為細化的方式詳盡介紹了該語言的各個側面。作為該文獻的出版方,Green Tea Press還針對C++Java推出了相關資料,並全部由Allen B. Downey主筆。而且歸功於該系列書籍的開源特性,讀者們也可以針對不同的標題提供英語之外的其它翻譯版本。

  Git: 《憑藉Git學習版本控制

  開源絕不僅僅是一種程式設計風格,而GitHub(以及作為其基礎的開源工具Git)的迅速風靡也將原始碼及版本控制方案帶入了萬千普通程式設計師手中。不過Git的使用感受實在有些棘手,所以這本論著從初學者的角度出發(包括非程式設計師及專案經理),幫助大家瞭解Git如何支援程式設計師完成所開發程式碼的版本控制工作。其適用範圍包括OS X以及命令列使用者,但Windows使用者目前只適用於其中的命令列部分。

  C/Python/Ruby: 《勤學苦練》

  Zed Shaw的《勤學苦練》系列程式設計叢書已經擁有了一大批忠實的讀者群體。本系列資料堅持認為,程式語言的學習者應當最大程度增加親手參與練習的可能性,而這一指導思想也與叢書標題完美對應。Shaw在三部論著中分別介紹了C語言、Python以及Ruby的相關知識。除了討論相關語言的前端與核心之外,他還以鮮見於其它指南資料的詳盡方式深入介紹了這幾種語言的開發細則。

  Clojure: 《Clojure ——面向JVM的函式程式設計

  作為一款執行在Java虛擬機器環境下的類LISP語言,Clojure已經憑藉著其出色的函式程式設計(本身亦是一大熱門議題)實現能力成為開發人員通往成功的快車票,且允許程式設計師充分發揮其現有Java生態系統之潛力。不過對於那些不熟悉LISP語法的初學者們來說,Clojure的探索之路實在堪稱崎嶇而坎坷,因此這部專門引導大家掌握Clojure語法、概念及實現方式的論著也就應運而生。水平較高的Clojure程式設計師們則可以閱讀《Clojure烹飪指南》一書,其中提供了大量將該語言應用於實際生產環境當中的優秀例項。

  Linux: 《從零開始學習Linux

  常言說得好,最理想的學習方式就是實踐,而《從零開始學習Linux》的目標正是引導大家從零基礎開始一步小構建起一套Linux系統。目前幾乎沒有多少論著會以如此詳盡、深入且全面的方式對Linux加以審視,而且也並不是所有打算在內部生產環境中使用Linux系統的使用者都願意以如此細緻的角度對這套平臺的目標及功能加以瞭解。作為這場學習遠征的後續任務,《從零開始實現Linux攻堅》與《從零開始實現Linux自動化》將幫助大家進一步提升技術水平。

  Go: 《Go語言程式設計概述

  這部論著提供一整套面向Go語言(或者稱為Golang)的簡潔而直觀的多平臺概述。谷歌公司打造的這款類C語言已經引發了越來越多技術人員的關注與興趣。該書以一整個章節介紹了Go語言的核心關鍵點之一——其併發特性——並以粗細有度的方式講解了Go語言的核心軟體包。如果大家希望從另一個角度學習Go,也可以參閱《通過例項學Go語言》一書,其中解釋內容較為簡短、但提供豐富的範例資料。

  JavaScript: 《人與JavaScript

  Douglas Crockford撰寫的《JavaScript:正面解讀》是我在JavaScript學習過程中接觸到近最出色的一本指南。《人與JavaScript》旨在教育讀者如何更為高效地利用JavaScript開發各類最常見的應用程式:構建具備可讀性及可維護性(也就是‘人’的因素)的原生HTML 5應用程式。如果大家還希望從更細化角度審視下一代JavaScript的各方面特性,建議各位參閱《掌握ECMAScript 6》一書。

  Hadoop: 《照亮Hadoop征程

  這部以Hadoop為核心內容的論著並不僅僅針對技術讀者,同時也適用於其它缺乏技術知識儲備但對大資料頗為關注的群體。《照亮Hadoop征程》一書確實從極為細緻的角度講解了Hadoop生態系統中陸續湧現的多種新元素——例如Spark等——但YARN等要素卻沒能得到應有的關注與介紹篇幅。不過作為一套自上而下的整體概述資料,其實用性仍然毋庸置疑。

  程式設計理論: 《計算機程式架構及註釋

  PDF格式版本HTML 5埠作為現代計算教科書中的元祖級成員,SICP(縮寫)是一套麻省理工學院用於程式設計教學的標準化教材。其學習難度較高,而且選擇以LISP為核心介紹程式設計理論(這一定位本身亦成為潛在劣勢)。但眾多程式設計師在閱讀之後實現了永久性的思維轉換。該論著目前提供PDF格式版本以及一套HTML 5埠

  原文標題:Free books! 19 no-cost programming guides

相關文章