技术人必读:19本免费指南性编程书籍

无论是物理实体还是数字化信息,一本优秀的技术书籍总能吸引到编程新手与开发老鸟的关注。也许正因为如此,书籍才能成为真理的载体,帮助读者在给定时间段之内掌握自己需要了解的议题以及学习途径。

技术人必读:19本免费指南性编程书籍

但从另一个角度出发,编程类书籍往往价格不菲。我案头这本由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等要素却没能得到应有的关注与介绍篇幅。不过作为一套自上而下的整体概述资料,其实用性仍然毋庸置疑。

编程理论: 《计算机程序架构及注释

相关推荐