对一个程序员来说,计算机组成原理、数据结构、算法、操作系统等几个课程,是必备的基础知识,位列在各大学计算机系培养计划的核心课程里。
其中,“计算机组成原理”更是入门和底层知识的第一课。
为什么这么说?想象一下,一名赛车手不知道赛车的内部构成和工作原理,你觉得他能在专业赛事中夺冠吗?同样的道理,要成为一名优秀的软件工程师,写得一手好程序,就要了解计算机是怎么工作的。
学习组成原理,你需要理解的是,为什么在这个有着层出不穷的高级语言的时代,我们还要学习一点汇编,理解一点硬件,去寻找和预测未来这个行业的发展方向和机会。
计算机组成原理整体来讲,到底在学什么?下面的内容出自极客时间专栏《深入浅出计算机组成原理》的内容整理,感兴趣的小伙伴可以扫码免费试读。
△扫我的海报免费试读
我们直接用肉眼来看,计算机是由 CPU、内存、显示器这些设备组成的硬件,而大部分人工作后从事的是软件开发,显然,在硬件和软件之间需要一座桥梁,而“计算机组成原理”就扮演了这样一个角色,你只需要对硬件有原理性的理解,就可以信赖硬件的可靠性,安安心心用高级语言来写程序。
无论是写操作系统、编译器这样的硬核代码,还是写Web应用、手机App这样的应用层代码,你都可以做到心里有底。
学习组成原理之后,向下,你可以学习数字电路相关的课程,向上,你可以学习编译原理、操作系统这些核心课程。它会让你真正对计算机的知识有一个全局的了解。
当然,除了像浮点数、字符编码这些知识点在工作中很容易用到,它还可以直接解决你在并发编程、性能优化中经常遇到的一些困惑,比如 CPU Cache 的原理是什么,CPU 和 I/O 之间是如何通信的,虚拟内存是要解决什么问题。
如果你看过倚天屠龙记,会发现张无忌几个时辰,就把别人几十年没有练成的乾坤大挪移学会了,最根本的原因,是他有“九阳神功”练就的内功底子!
同样的,深入学习这门“底层知识”,就是在练扎马步、核心肌肉力量,提升你自己的“根骨”和“资质”,从而拔高你发展的上限。
关于组成原理对程序员的作用,看看大家怎么说。
计算机组成原理学习路线图
作为计算机底层知识第一课,肯定不好啃,我身边不少工程师想学,大都是买了资料,前面100页已经发黄了,后面500页从来没有打开过;一些非科班出身的程序员,直接说“这些书根本看不懂”,典型的“买书如山倒,读书如抽丝”。
最大的困难在于,概念多,太抽象,难理解,不好学以致用。
下面这张思维导图,是《深入浅出计算机组成原理》的作者徐文浩老师制作的,他将零散的概念系统地整理在一起,可以帮你快速的掌握计算机组成原理相关知识点。
徐文浩, BotHub.AI 创始人,从 7 岁开始接触代码,近 30 年的码龄。写过各种大型企业软件,从零开始搭建支撑每天百亿流量的广告算法系统,提升了十倍以上的广告收入和 ROI;现在专栏已经更新了一半,跟着读下来,最大的感触是,这个老师挺会讲,能把复杂的问题讲明白。
他以日常工作实际场景+硬件发展历史+软件开发案例,深入浅出得讲解 30+ 计算机组成原理的核心知识,教你真正看懂、学会、记住,从源头理解软、硬件的共同之处,洞悉性能问题的本质,学以致用。相信他可以带你掌握计算机体系全貌。
比如,专栏特色之一:
图文并茂,配合给大家讲解复杂问题,简洁又清晰。
专栏特色之二:
每章节都会留个符合内容的思考题,徐文浩老师经常在评论区解答。
在考研统考的 4 门核心基础课程中,极客时间已经出了数据结构与算法、操作系统,计算机网络相关的 3 门很受欢迎的计算机基础课程,这是第 4 门也是非常重要的第一课,等你做了多年开发以后,会发现,原来这么多年就是围绕这 4 门课程打转。
“练拳不练功,到老一场空”。想成为一名真正的工程师,而非一个底层码农,这些原理性的、专业基础知识,是一定要学的。
这个课程我已经是第 2 次推荐了,之前跟大家分享的时候,很多同学都没有来得及赶上优惠,这次申请了个限时福利,分享给大家。
今天张哥送福利
???
限时优惠 79,原价99
一张电影票的价格
拿下组成原理这门“硬核功夫”
△扫我的海报免费试读或订阅
成功不等于加班,奋斗也不等于 996,关键在于你能解决了别人不能解决的问题。勤修“内功”,才能走的更加长远。
点击「阅读原文」,一起打通计算机学习的“任督二脉”。