# 好书推荐

<!-- 
    汇总类的书籍资源请放在 资源汇总 板块下

    书籍格式要求: 
        书籍名(优先英文原版，开源则附上链接，多版本则默认最新版) [豆瓣链接] [其他相关资源链接（如相关课程）]
    
    同板块下的顺序要求：
        先中文后英文，同种语言先开源后闭源，最后按从基础到深入或者字母序。
 -->

由于版权原因，下面列举的图书中除了开源资源提供了链接，其他的资源请大家自行通过 [libgen](http://libgen.is/) 或 [z-lib](https://zh.singlelogin.re) 查找。

## 资源汇总

- [Free Programming Books](https://github.com/EbookFoundation/free-programming-books): 开源编程书籍资源汇总
- [CS Textbook Recommendations](https://4chan-science.fandom.com/wiki/Computer_Science_and_Engineering): 计算机科学方向推荐教材列表
- [C Book Guide and List](https://stackoverflow.com/questions/562303/the-definitive-c-book-guide-and-list): C语言相关的编程书籍推荐列表
- [C++ Book Guide and List](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list): C++语言相关的编程书籍推荐列表
- [Python Book Guide and List](https://pythonbooks.org/): Python语言相关的编程书籍推荐列表
- [Computer Vision Textbook Recommendations](https://www.folio3.ai/blog/best-computer-vision-books/): 计算机视觉方向推荐教材列表
- [Deep Learning Textbook Recommendations](https://www.mostrecommendedbooks.com/lists/best-deep-learning-books): 深度学习方向推荐教材列表


## 系统入门

- Computer Systems: A Programmer's Perspective [[豆瓣](https://book.douban.com/subject/26912767/)]
- Principles of Computer System Design: An Introduction [[豆瓣](https://book.douban.com/subject/3707841/)]

## 操作系统

- [现代操作系统: 原理与实现](https://ipads.se.sjtu.edu.cn/mospi/) [[豆瓣](https://book.douban.com/subject/35208251/)]
- [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/) [[豆瓣](https://book.douban.com/subject/19973015/)]
- Modern Operating Systems [[豆瓣](https://book.douban.com/subject/27096665/)]
- Operating Systems: Principles and Practice [[豆瓣](https://book.douban.com/subject/25984145/)]

## 计算机网络

- [Computer Networks: A Systems Approach](https://book.systemsapproach.org/foreword.html) [[豆瓣](https://book.douban.com/subject/26417896/)]
- [Computer Networking: A Top-Down Approach](https://www.ucg.ac.me/skladiste/blog_44233/objava_64433/fajlovi/Computer%20Networking%20_%20A%20Top%20Down%20Approach,%207th,%20converted.pdf) [[豆瓣](https://book.douban.com/subject/30280001/)]
- How Networks Work [[豆瓣](https://book.douban.com/subject/26941639/)]

## 分布式系统

- [Patterns of Distributed System (Blog)](https://github.com/dreamhead/patterns-of-distributed-systems)
- [Distributed Systems for Fun and Profit (Blog)](http://book.mixu.net/distsys/index.html)
- [Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems](https://github.com/Vonng/ddia) [[豆瓣](https://book.douban.com/subject/26197294/)]

## 数据库系统

- [Architecture of a Database System](https://dsf.berkeley.edu/papers/fntdb07-architecture.pdf) [[豆瓣](https://book.douban.com/subject/17665384/)]
- [Readings in Database Systems](http://www.redbook.io/) [[豆瓣](https://book.douban.com/subject/2256069/)]
- Database System Concepts : 7th Edition [[豆瓣](https://book.douban.com/subject/30345517/)]

## 编译原理

- Engineering a Compiler [[豆瓣](https://book.douban.com/subject/5288601/)]
- Compilers: Principles, Techniques, and Tools [[豆瓣](https://book.douban.com/subject/1866231/)]
- [Crafting Interpreters](https://craftinginterpreters.com/contents.html)[[豆瓣]](https://book.douban.com/subject/35548379/)[[开源中文翻译]](https://github.com/GuoYaxiang/craftinginterpreters_zh)

## 计算机编程语言

- 计算机程序的构造和解释 [[豆瓣](https://book.douban.com/subject/1148282/)]
- [Essentials of Programming Languages](https://eopl3.com/) [[豆瓣](https://book.douban.com/subject/3136252/)]
- [Practical Foundations for Programming Languages](https://www.cs.cmu.edu/~rwh/pfpl.html) [[豆瓣](https://book.douban.com/subject/26782198/)]
- [Software Foundations](https://softwarefoundations.cis.upenn.edu/) [[豆瓣](https://book.douban.com/subject/25712292/)] [[北大相关课程](https://xiongyingfei.github.io/SF/2021/)]
- [Types and Programming Languages](https://www.cis.upenn.edu/~bcpierce/tapl/) [[豆瓣](https://book.douban.com/subject/1761910/)] [[北大相关课程](https://xiongyingfei.github.io/DPPL/2021/main.htm)]

## 体系结构

- 超标量处理器设计: Superscalar RISC Processor Design [[豆瓣](https://book.douban.com/subject/26293546/)]
- Computer Organization and Design RISC-V Edition [[豆瓣](https://book.douban.com/subject/27103952/)]
- Computer Organization and Design: The Hardware/Software Interface [[豆瓣](https://book.douban.com/subject/26604008/)]
- Computer Architecture: A Quantitative Approach [[豆瓣](https://book.douban.com/subject/6795919/)]

## 理论计算机科学

- Introduction to the Theory of Computation [[豆瓣](https://book.douban.com/subject/1852515/)]

## 密码学

- Cryptography Engineering: Design Principles and Practical Applications [[豆瓣](https://book.douban.com/subject/26416592/)]
- Introduction to Modern Cryptography [[豆瓣](https://book.douban.com/subject/2678340/)]

## 逆向工程

- 逆向工程核心原理 [[豆瓣](https://book.douban.com/subject/25866389/)]
- 加密与解密 [[豆瓣](https://book.douban.com/subject/30288807/)]

## 计算机图形学

- [Monte Carlo theory, methods and examples](https://artowen.su.domains/mc/)[[豆瓣](https://book.douban.com/subject/6089923/)]
- Advanced Global Illumination [[豆瓣](https://book.douban.com/subject/2751153/)]
- Fundamentals of Computer Graphics [[豆瓣](https://book.douban.com/subject/26868819/)]
- [Fluid Simulation for Computer Graphics](http://wiki.cgt3d.cn/mediawiki/images/4/43/Fluid_Simulation_for_Computer_Graphics_Second_Edition.pdf) [[豆瓣](https://book.douban.com/subject/2584523/)]
- [Physically Based Rendering: From Theory To Implementation](https://research.quanfita.cn/files/Physically_Based_Rendering_Third_Edition.pdf) [[豆瓣](https://book.douban.com/subject/4306242/)]
- [Real-Time Rendering](https://research.quanfita.cn/files/Real-Time_Rendering_4th_Edition.pdf) [[豆瓣](https://book.douban.com/subject/30296179/)]

## 游戏引擎

- 游戏编程模式: Game Programming Patterns [[豆瓣](https://book.douban.com/subject/26880704/)]
- 实时碰撞检测算法技术 [[豆瓣](https://book.douban.com/subject/4861957/)]
- [Game AI Pro Series](http://www.gameaipro.com/) [[豆瓣](https://search.douban.com/book/subject_search?search_text=Game+AI+Pro&cat=1001)]
- Artificial Intelligence for Games [[豆瓣](https://book.douban.com/subject/3836472/)]
- Game Engine Architecture [[豆瓣](https://book.douban.com/subject/25815142/)]
- Game Programming Gems Series [[豆瓣](https://search.douban.com/book/subject_search?search_text=Game+Programming+Gems&cat=1001)]

## 软件工程

- [Software Engineering at Google](https://abseil.io/resources/swe-book) [[豆瓣](https://book.douban.com/subject/34875994/)]

## 设计模式

- 设计模式: 可复用面向对象软件的基础 [[豆瓣](https://book.douban.com/subject/1052241/)]
- 大话设计模式 [[豆瓣](https://book.douban.com/subject/2334288/)]
- Head First Design Patterns 2nd ed. [[豆瓣](https://book.douban.com/subject/35097022/)]

## 深度学习

- [动手学深度学习](https://zh.d2l.ai) [[豆瓣](https://book.douban.com/subject/33450010/)]
- [神经网络与深度学习](https://nndl.github.io/) [[豆瓣](https://book.douban.com/subject/35044046/)]
- 深度学习入门 [[豆瓣](https://book.douban.com/subject/30270959/)]
- [简单粗暴 TensorFlow 2 (Tutorial)](https://tf.wiki/)
- [Speech and Language Processing](https://web.stanford.edu/~jurafsky/slp3/) [[豆瓣](https://book.douban.com/subject/5373023/)]

## 计算机视觉

- [Multiple View Geometry in Computer Vision](https://github.com/DeepRobot2020/books/blob/master/Multiple%20View%20Geometry%20in%20Computer%20Vision%20(Second%20Edition).pdf)  [[豆瓣](https://book.douban.com/subject/1841346/)]
## 机器人

- [Probabilistic Robotics](https://docs.ufpr.br/~danielsantos/ProbabilisticRobotics.pdf) [[豆瓣](https://book.douban.com/subject/2861227/)]

## 面试

- 剑指 Offer：名企面试官精讲典型编程题 [[豆瓣](https://book.douban.com/subject/27008702/)]
- Cracking The Coding Interview [[豆瓣](https://book.douban.com/subject/10436668/)]
