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