龙空技术网

计算机领域必读的经典书籍清单

力扣LeetCode 26477

前言:

当前你们对“sicpwithpython”大体比较讲究,咱们都需要剖析一些“sicpwithpython”的相关资讯。那么小编也在网摘上收集了一些有关“sicpwithpython””的相关内容,希望大家能喜欢,姐妹们一起来了解一下吧!

由于计算机科学是一个庞大的学科体系,在学习的过程中要对这个体系的知识都有一定的了解,下面按照分类和体系进行说明,以及推荐一些书籍清单。

先来一段坊间流传的打油诗(手动狗头保命),可见算法和数据结构有多么的重要!

一等码农搞算法,吃香喝辣调调参

二等码农搞架构,高并低延能吹牛

三等码农搞工程,怼天怼地怼 PM

四等码农搞前端,浮层像素老黄牛

底层

数学,算法和数据结构作为计算机科学的底层学科对于深入了解计算机运作模式等是必不可少的,这里推荐:

《深入理解计算机系统(CSAPP)》

豆瓣评分:9.5

从名称上来看这本书讲的是对系统的深入挖掘,然而本书非常适合作为一个入门读物,在了解计算机前开始阅读,可以对计算机相关概念有一个简要的了解。

《计算机程序的构造和解释(SICP)》

豆瓣评分:9.5

这本书讲的是从数据抽象、过程抽象、迭代、高阶函数等编程和控制系统复杂性的思想,到数据结构和算法,到编译器/解释器、编程语言设计。

《算法导论》

豆瓣评分:9.3

MIT 的经典算法教材,虽然可能其中的伪代码表示法不适合所有的人轻松阅读,但是对于算法描述的地位依然非常靠前。

《具体数学》

豆瓣评分:9.6

本书介绍了计算机的数学基础,内容涉及求和、取整函数、数论、二项式系数、特殊数、母函数(发生函数)、离散概率、渐近等,面向从事计算机科学、计算数学、计算技术诸方面工作的人员,以及高等院校相关专业的师生。

这三本书分别由人民邮电出版社,和机械工业出版社引进(也是所谓黑皮系列书籍),建议的阅读顺序是 CSAPP -> SICP -> 算法导论 -> 具体数学,难度依次增加,全篇哪怕只是当作看维基百科,一般看完之后也能对目前正在运作的计算机有一个更好的理解。

编程语言

C++ 作为一个编程语言的主力军,目前依然建议大家学习。除了大家都推荐的 C++ Primer 以外,由于 C++ 的版本一直在迭代,所以这里推荐一些没有那么主流的书,如下:

《C++ 编程规范》

豆瓣评分:8.2

两位知名的 C++ 专家将全球 C++ 界 20 年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。书中对每一条规范都给出了精确的描述,并辅以实例说明。

《 超越 C++ 标准库》

豆瓣评分:7.5

Boost 库是除了标准库之外,很实用的一个库,这本书作为 Boost 的入门书已经超越了导读功能。

《Effective Modern C++》

豆瓣评分:9.6

C++11 虽然填上了一些 C++98 的坑,但又引入了不少新坑。很多新特性并不像它们表面上看起来那样简单。不过 Meyers 确实功力深厚,每个特性的前因后果都讲得一清二楚,给出的使用建议也很贴合实际。

Python 相关,这里需要注意的是,现在的主流标准已经是 Python 3,应该尽量避免看 Python 2 的书:

《Python Cookbook》

豆瓣评分:8.6

这是一本入门书,《Python Cookbook(第3版)中文版》介绍了 Python 应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和 I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和 Web 编程,并发,实用脚本和系统管理,测试、调试以及异常,C 语言扩展等。

编程范式

除了对于常见编程语言的掌握以及一些实际的项目经验外,对于编程范式的理解也可以使你的能力提升一个档次,这里推荐:

《Head First 设计模式》

豆瓣评分:9.2

这本书每章都介绍了几个设计模式,完整地涵盖了四人组版本全部 23 个设计模式。前言先介绍这本书的用法;第 1 章到第 11 章陆续介绍的设计模式为 Strategy、Observer、Decorator、AbstractFactory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy.

《七周七语言——理解多种编程范型》

豆瓣评分:8.1

书中介绍了 Ruby、Io、Prolog、Scala、Erlang、Clojure 和 Haskell 这七种语言,关注每一门语言的精髓和特性,重点解决如下问题:这门语言的类型模型是什么,编程范式是什么,如何与其交互,有哪些决策构造和核心数据结构,有哪些独特的核心特性。

工程向开发

不仅仅是软件工程,而是在面向工程的开发,即一个成熟的大型软件是如何组织,编写的,这里推荐:

《敏捷软件开发》

豆瓣评分:9.1

这本书深入而生动地使用真实案例讲解了面向对象设计的基本原则、重要的设计模式、UML 和敏捷方法。

《重构——改善既有代码的设计》

豆瓣评分:9.1

这本书解释了重构的原理(principles)和最佳实践方式(best practices),并指出在何时何地你应该开始挖掘你的代码以求改善。

《代码大全》

豆瓣评分:9.3

这本书并不是代码的「大全」,书的英文名《Code complete》的意思是完成代码,本书将教你如何一步步完成开发,避免遇到作者在实践中遇到的各种问题。

互动话题:

看过以上书籍的小伙伴可以在评论区和大家一起讨论,或者推荐一些你觉得值得阅读的书籍~

本文作者:Nova Kwok

声明:本文归 “力扣” 版权所有,如需转载请联系。

文中部分图片来源于网络,为非商业用途使用,如有侵权联系删除。

标签: #sicpwithpython