年轻人,你渴望力量吗?

二胖作为一个从传统行业转行到IT行业的底层青年,在自学计算机技术的过程中经历了很多困惑与挫折,尽管现在也没能很好的掌握CS的专业知识,但是勉强能为大家推荐两本计算机科学的经典书籍。

上图冯·诺依曼大神和大神背后的黑皮书在网上名气很大。计算机专业的教材汗牛充栋,根据豆瓣读书组的数据单单由机械工业出版社出版的计算机科学丛书(黑皮书)就由513册,除去同名图书的不同版本也有三百多册;国内各大高校自己编写的教材更是数不胜数。

二胖经过艰辛的收集与整理,集齐了二百多本机工社的黑皮书,面对这么多教材,我有些迷茫。我想一辈子也看不完这么多专业图书,正所谓“吾生也有涯,而知也无涯”。

现在互联网上到处都是学习资源,然而精华与糟粕并存。就算像黑皮书基本都是精华,可还是不够精简。经过不断的探索总结与询问公司程序员小伙伴,我总结出了一份只含七本图书的清单。

七本经典书籍分别是:《深入理解计算机系统》、《数据密集型应用系统设计》、《计算机程序的构造和解释》、《算法设计手册》、《计算机科学中的数学》、《操作系统导论》、《计算机网络:自顶向下方法》。

七本教材分别花一两百个小时进行学习是很有必要的,不论是对专业能力还是职业生涯的提升都是巨大的。

还是太多?

如果小伙伴们觉得七本图书要花一千多个小时学习是比较艰难的一件事,那我推荐你先专注于学习两本图书:《深入理解计算机系统》 和 《数据密集型应用系统设计》。投入到这两本书的时间可以获得极高的回报率,特别适合从事网络应用开发的自学工程师。这两本书也可以作为上面表格中其他科目的纲领。

程序员分为两种:一种充分理解了计算机科学,从而有能力应对充满挑战的创造性工作;另一种仅仅凭着对一些高级工具的熟悉而勉强应付。嘿嘿,二胖是智能硬件产品经理(IHPM)。这两种人都自称软件工程师,都能在职业生涯早期挣到差不多的工资。然而,随着时间流逝,第一种工程师不断成长,所做的事情将会越来越有意义且更为高薪,不论是有价值的商业工作、突破性的开源项目、技术上的领导力或者高质量的个人贡献。

第一种工程师总是寻求深入学习计算机科学的方法,或是通过传统的方法学习,或是在职业生涯中永无止息地学习;第二种工程师 通常浮于表面,只学习某些特定的工具和技术,而不研究其底层的基本原理,仅仅在技术潮流的风向改变时学习新的技能。

如今,涌入计算机行业的人数激增,然而计算机专业的毕业生数量基本上未曾改变。第二种工程师的供过于求正在开始减少他们的工作机会,使他们无法涉足行业内更加有意义的工作。对小伙伴们来说,不论正在努力成为第一种工程师,还是只想让自己的职业生涯更加安全,学习计算机科学是唯一可靠的途径。

《深入理解计算机系统》简介:

本书从程序员的视角详细阐述计算机系统的本质概念,并展示这些概念如何实实在在地影响应用程序的正确性、性能和实用性。全书共12章,主要内容包括信息的表示和处理、程序的机器级表示、处理器体系结构、优化程序性能、存储器层次结构、链接、异常控制流、虚拟存储器、系统级I/O、网络编程、并发编程等。书中提供大量的例子和练习,并给出部分答案,有助于读者加深对正文所述概念和知识的理解。——《深入理解计算机系统(原书第3版)》

深入理解计算机系统应该是最优秀的计算机系统导论型作品,它创造性的把操作系统,计算机组成结构,数字电路,以及汇编原理这些计算机基础学科中的核心概念汇集在一起,从而覆盖了指令集体系结构,汇编语言,代码优化,计算机存储体系架构,链接,装载,进程,以及虚拟内存这些程序员所需了解的关键计算机系统知识。如果想打下扎实的计算机基础又不想把操作系统计算机结构编译原理这些书统统读一遍,阅读深入理解计算机系统是最有效率的方式。

《深入理解计算机系统》对于那些想了解计算机系统以求编写更快、更高效、更可靠的软件的人来说是很好的起点。总之《深入理解计算机系统》值得反复深入阅读,理解体会。

《数据密集型应用系统设计》简介:

全书分为三大部分:

第一部分,主要讨论有关增强数据密集型应用系统所需的若干基本原则。首先开篇第1章即瞄准目标:可靠性、可扩展性与可维护性,如何认识这些问题以及如何达成目标。第2章我们比较了多种不同的数据模型和查询语言,讨论各自的适用场景。接下来第3章主要针对存储引擎,即数据库是如何安排磁盘结构从而提高检索效率。第4章转向数据编码(序列化)方面,包括常见模式的演化历程。

第二部分,我们将从单机的数据存储转向跨机器的分布式系统,这是扩展性的重要一步,但随之而来的是各种挑战。所以将依次讨论数据远程复制(第5章)、数据分区(第6章)以及事务(第7章)。接下来的第8章包括分布式系统的更多细节,以及分布式环境如何达成一致性与共识(第9章)。

第三部分,主要针对产生派生数据的系统,所谓派生数据主要指在异构系统中,如果无法用一个数据源来解决所有问题,那么一种自然的方式就是集成多个不同的数据库、缓存模块以及索引模块等。首先第10章以批处理开始来处理派生数据,紧接着第11章采用流式处理。第12章总结之前介绍的多种技术,并分析讨论未来构建可靠、可扩展和可维护应用系统可能的新方向或方法。


随着计算机在数量上的增加,计算机同样开始分散。尽管商业公司过去愿意购买越来越大的大型机,现在的典型情况是,甚至很小的应用程序都同时在多台机器上运行。思考这样做的利弊权衡,即是分布式系统的研究所在,也是越来越重要的一项技能。

推荐的 《数据密集型应用系统设计》与传统的教科书相比,它是一本为实践者设计的具有很高的可读性的书,并且保持了深度和严谨性。

现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师,DBA、还是后端工程师、甚至产品经理都会有帮助。

这也是一本深入浅出的书,讲述概念的来龙去脉而不是卖弄定义,介绍事物发展演化历程而不是事实堆砌,将复杂的概念讲述的浅显易懂,但又直击本质不失深度。每章最后的引用质量非常好,是深入学习各个主题的绝佳索引。

​ 本书为数据系统的设计、实现、与评价提供了很好的概念框架。读完并理解本书内容后,读者可以轻松看破大多数的技术忽悠,与技术砖家撕起来虎虎生风。

最后,二胖肯定会放资源出来的,小伙伴们按下面的链接自行下载吧,如果失效了请联系我。

《深入理解计算机系统》:链接:https://pan.baidu.com/s/1UokTo2-LcwRDHslTStRCRg
提取码:ihpm

《数据密集型应用系统设计》:链接:https://pan.baidu.com/s/1iNLD_KDS7EEQZN2HShPBbw
提取码:ihpm

计算机专业必读哪两本经典书籍?相关推荐

  1. 计算机专业必读的几本经典书!计算机大腕推荐

    当今社会,要说哪个专业或者领域最火爆最受欢迎,计算机专业当之无愧可以进入Top3.日常生活中的各行各业都离不开计算机的支持,无处不在.而且,计算机行业给的薪资也是非常非常非常可观令人心动!(本人就是因 ...

  2. 重磅盘点:世界名校计算机专业必读的10本经典神书

    导读:前些天多地升温,大家都在感叹夏天来了.虽说夏天没有来,但春天真的来了. 一年之计在于春,各地高校在春天里纷纷错峰开学.据网络资料显示,比较早的如上海交通大学,2月18日起就已接收学生返校:晚一些 ...

  3. 计算机科学专业必读的44册经典著作

    中文名称:计算机科学经典著作 英文名称:Computer Science 版本: 简介: 1.The Art of Computer Programmin     Author: Donald.E.K ...

  4. 赠书:HTML5 Canvas 2d 编程必读的两本经典

    赠书:HTML5 Canvas 2d 编程必读的两本经典 这两年多一直在和HTML5 Canvas 打交道,也带领团队开发了世界首款基于HTML5 Canvas 的演示文档工具---AxeSlide( ...

  5. 神书护体,开学大吉——计算机专业必读的10本畅销经典

    导读:前些天多地升温,大家都在感叹夏天来了.虽说夏天没有来,但春天真的来了. 一年之计在于春,各地高校在春天里纷纷错峰开学.据网络资料显示,比较早的如上海交通大学,2月18日起就已接收学生返校:晚一些 ...

  6. 计算机专业前沿算法,CNCC2018 | 研究经典计算机算法已经过时了吗?

    在2018中国计算机大会(CNCC 2018)"经典计算机算法"分会论坛中,来自机器学习等领域的专家学者就经典计算机算法进行了研讨. 计算机理论领域一直以它独有的底蕴,散发醉人的芬 ...

  7. 三所985大学计算机专业!学费两万一年!

    两万元一年的学费,你觉得高还是低? 我发现了三所985大学的计算机类专业学费,都是两万一年! 中国科学技术大学 中科大是计算机考研的明星学校,科软更是在计算机考研届拥有极高的知名度.中科大软件学院,软 ...

  8. 计算机专业必读的经典书籍

    书单推荐 一.计算机思维 <数学之美> 推荐理由: 吴军博士文笔流畅.干货满满,同时切合实际应用,可以作为计算机科学(尤其是AI领域)的入门读物 <程序员的数学>系列 推荐理由 ...

  9. 【收藏】计算机专业必读的经典书籍,不看后悔系列

    挑战一个篇文章封神,你确定不看看,[计算机书单]成为计算机大牛的每一步,都需要耐心去学!java书单: Java入门 <Java编程思维> <Java技术手册(第6版)> Ja ...

最新文章

  1. Ubuntu14.04 LTS中升级gcc/g++版本到4.9.4的操作步骤
  2. mysql 隐式失误_评“MySQL 隐式转换引起的执行结果错误”
  3. cpu风扇声音大_笔记本电脑风扇声音大怎么办
  4. msdn关于Visual C++ 编译器选项的说明
  5. EEGNet: 神经网络应用于脑电信号
  6. 图像的色彩类别,灰度化,二值化
  7. 监听vuex的某条数据
  8. SpringBoot引入本地jar包
  9. LG能源解决方案去年年底已开始研发磷酸铁锂电池
  10. Bailian1193 内存分配【数据结构】
  11. 随机化算法 —— 数组置乱器的实现
  12. 开源docker管理平台rancher 安装部署
  13. 南邮-2022年6月电子商务练习自整理 - 选择篇
  14. linux下php zipArchive采用ZipArchive::OVERWRITE失败,返回错误码:9
  15. 论“无常,苦、无我”
  16. java随笔 2008年
  17. 猿创征文|Android 11.0 12.0Launcher3中app列表页的app名称分两行显示
  18. firefly rk3328学习笔记1-samba环境搭建
  19. 软件工程毕业设计选题大全 毕设题目推荐
  20. 2019专业创业赛事活动平台

热门文章

  1. 2022年疫情下的卡塔尔世界杯,你看了么,盘点一下爆冷的赛事
  2. [Unity绳子插件]Obi - Advanced Rope Simulation的使用
  3. 【泛函分析】巴拿赫空间
  4. 利用人脸微笑数据集训练识别模型,完成对人脸图片微笑识别
  5. 腾讯开发者登录不上去
  6. 2017.11.15作业
  7. 我的创作纪念日(128天)
  8. 与一名上海学生深度交流上大学的事
  9. 学校暑期计算机培训心得,暑假计算机培训心得体会
  10. 微信小程序 - 搜索历史记录功能(纯前端)