书籍
这个列表包括了 100 多本经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。
本列表综合了伯乐在线网站以往推荐经典书籍文章中的列表,以及在微信和微博中被广泛推荐的好书。虽然已经包括了 100 多本,覆盖的面也比较全,仍然有很多方面需要补充,而且相信还有很多没有被收录的好书。欢迎大家在评论中推荐或自荐。
这篇文章主要是分类别推荐了该类别所属的经典书籍列表。每个类别下,从书名就可以看出来,是区分了方向。即使是同一个方向,也侧重点不同。即使侧重点相同,作者讲解的思路也是不同的。请选择自己关注的方向,根据图书的简介选择适合自己的书籍学习。
我们也在 GitHub 上同步更新这个列表,地址:https://github.com/jobbole/awesome-programming-books 欢迎关注!
计算机系统与网络
- 《图灵的秘密:他的生平、思想及论文解读》
- 《计算机系统概论》
- 《深入理解Linux内核》
- 《深入Linux内核架构》
- 《TCP/IP详解 卷1:协议》
- 《Linux系统编程(第2版)》
- 《Linux内核设计与实现(第3版)》
- 《深入理解计算机系统(原书第2版)》
- 《计算机程序的构造和解释(原书第2版)》
- 《编码:隐匿在计算机软硬件背后的语言》
- 《性能之颠:洞悉系统、企业与云计算》
- 《UNIX网络编程 卷1:套接字联网API(第3版)》
- 《UNIX网络编程 卷2:进程间通信》
- 《Windows核心编程(第5版)》
- 《WireShark网络分析就这么简单》
- 《WireShark网络分析的艺术》
编程通用
- 《编程原本》
- 《代码大全》
- 《UNIX编程艺术》
- 《代码整洁之道》
- 《编程珠玑(第2版)》
- 《编程珠玑(续)》
- 《软件调试的艺术》
- 《修改代码的艺术》
- 《编程语言实现模式》
- 《编写可读代码的艺术》
- 《解析极限编程:拥抱变化》
- 《精通正则表达式(第3版)》
- 《编译原理(第2版)》龙书
- 《重构:改善既有代码的设计》
- 《七周七语言:理解多种编程范型》
- 《调试九法:软硬件错误的排查之道》
- 《程序设计语言:实践之路(第3版)》
- 《计算的本质:深入剖析程序和计算机》
- 《设计模式 : 可复用面向对象软件的基础》
算法与数据结构
- 《算法(第4版)》
- 《算法导论(原书第2版)》
- 《Python算法教程》
- 《算法设计与分析基础(第3版)》
- 《学习 JavaScript 数据结构与算法》
- 《数据结构与算法分析 : C++描述(第4版)》
- 《数据结构与算法分析 : C语言描述(第2版)》
- 《数据结构与算法分析 : Java语言描述(第2版)》
职业修炼与规划
- 《大教堂与集市》
- 《卓有成效的程序员》
- 《程序员的职业素养》
- 《程序员修炼之道:从小工到专家》
- 《软件开发者路线图:从学徒到高手》
- 《我编程,我快乐: 程序员职业规划之道》
- 《程序员的思维修炼:开发认知潜能的九堂课》
- 《高效程序员的45个习惯:敏捷开发修炼之道(修订版)》
大师访谈
架构/性能
- 《微服务设计》
- 《大数据日知录》
- 《企业应用架构模式》
- 《Web性能权威指南》
- 《SRE:Google运维解密》
- 《发布!软件的设计与部署》
- 《高扩展性网站的 50 条原则》
- 《大型网站技术架构:核心原理与案例分析》
- 《恰如其分的软件架构:风险驱动的设计方法》
- 《软件系统架构:使用视点和视角与利益相关者合作(第2版)》
Web前端
- 《高性能 JavaScript》
- 《锋利的 jQuery(第2版)》
- 《JavaScript 忍者秘籍》(感谢@joker-danta 补充推荐)
- 《编写可维护的 JavaScript》
- 《你不知道的 JavaScript(上)》
- 《JavaScript 权威指南(第6版)》
- 《JavaScript 语言精粹(修订版)》
- 《JavaScript DOM编程艺术 (第2版)》
- 《JavaScript 高级程序设计(第3版)》
- 《JavaScript 异步编程:设计快速响应的网络应用》
- 《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》
- 《HTML5 权威指南》
- 《HTML5 秘籍(第2版)》
- 《HTML5 与 CSS3 基础教程(第八版)》
- 《CSS 揭秘》
- 《CSS 设计指南(第3版)》
- 《CSS 权威指南(第3版)》
- 《深入浅出 HTML 与 CSS》
Java开发
- 《Java8 实战》
- 《Java并发编程实战》
- 《Java性能权威指南》
- 《Java程序员修炼之道》
- 《实战Java高并发程序设计》
- 《Java编程思想 (第4版)》
- 《深入理解Java虚拟机(第2版)》
- 《Effective java 中文版(第2版)》
- 《Java核心技术·卷1:基础知识(原书第9版)》
- 《Java核心技术·卷2:高级特性(原书第9版)》
.NET
Python
- 《集体智慧编程》
- 《笨办法学Python》
- 《Python基础教程》
- 《Python源码剖析》
- 《Head First Python》
- 《与孩子一起学编程》
- 《Python学习手册(第4版)》
- 《Python Cookbook(第3版)》
- 《Python参考手册(第4版)》
- 《Python核心编程(第3版)》
- 《Python科学计算(第2版)》
- 《利用 Python 进行数据分析》
- 《Think Python:像计算机科学家一样思考Python(第2版)》
- 《Python编程实战:运用设计模式、并发和程序库创建高质量程序》
- 《Python绝技:运用Python成为顶级黑客》
- 《Flask Web开发:基于Python的Web应用开发实战》
Android
iOS
PHP
C语言
C++
- 《C++标准库》
- 《C++编程思想》
- 《C++语言的设计与演化》
- 《C++程序设计原理与实践》
- 《C++ Primer (中文第5版)》
- 《C++ Primer习题集(第5版) 》
- 《C++程序设计语言(第1-3部分)(原书第4版) 》
- 《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版) 》
- 《More Effective C++:35个改善编程与设计的有效方法(中文版) 》
机器学习和数据挖掘
- 《数据之巅》
- 《矩阵分析》
- 《机器学习》
- 《统计学习方法》
- 《机器学习导论》
- 《推荐系统实践》
- 《机器学习实战》
- 《Web数据挖掘》
- 《深入浅出统计学》
- 《模式分类(第2版)》
- 《概率论与数理统计》
- 《统计学习基础(第2版)(英文) 》
- 《数据挖掘:概念与技术(第3版)》
- 《数据挖掘:实用机器学习工具与技术(原书第3版)》
- 《大数据:互联网大规模数据挖掘与分布式处理(第2版)》
数据库
- 《SQL应用重构》
- 《SQL Cookbook》
- 《高性能MySQL (第3版)》
- 《深入浅出SQL(中文版)》
- 《MySQL技术内幕 : InnoDB存储引擎(第2版)》
- 《深入浅出MySQL : 数据库开发、优化与管理维护》
测试
- 《探索式软件测试》
- 《有效的单元测试》
- 《Google软件测试之道》
项目与团队
- 《人月神话》
- 《快速软件开发》
- 《人件(原书第3版)》
- 《门后的秘密:卓越管理的故事》
- 《极客与团队:软件工程师的团队生存秘笈》
求职面试
编程之外
- 《暗时间》
- 《数学之美》
- 《赢得朋友》
- 《精益创业》
- 《批判性思维》
- 《世界是数字的》
- 《程序员的数学》
- 《程序员健康指南》
- 《禅与摩托车维修艺术》
- 《关键对话:如何高效能沟通》
- 《写作法宝:非虚构写作指南》
- 《黑客与画家 : 来自计算机时代的高见》
- 《软件随想录(卷1)》《软件随想录(卷2)》
- 《如何把事情做到最好:改变全球9800万人的人生指导书》
Action speaks louder than words!