微信扫一扫
分享到朋友圈

接触代码30年,为什么觉得这门底层知识一定要掌握?| 极客时间

作者:InfoQ 来源:InfoQ 公众号
分享到:

04-29

如果从 7 岁第一次在少年宫写程序开始算起,到今天,我的码龄快有 30 年了。

05 年上海交通大学计算机系毕业后,我写过各种大型企业软件,也从零开始搭建过广告算法系统,16 年底进军人工智能领域,这期间我最大的感受就是,软件开发行业发展变化太快了,有时候不免会觉得焦虑,唯一的解决办法,就是迎头赶上,并选择那些最有挑战的去学。

在攻克一个又一个领域之后,我发现这些看似新兴的技术,背后的原理和逻辑却是融会贯通的,无外乎计算机组成原理、数据结构、算法、操作系统这些基础知识,它就像一座大楼的地基,决定了我们的技术高度,而这其中,“计算机组成原理”更是入门和底层知识的第一课。

在这个高级语言层出不穷的时代,我们如果不学汇编、不理解一点硬件,就好比一名赛车手不知道赛车的内部构成和工作原理,你相信他能在专业赛事中夺得冠军吗?

同样的道理,要成为一名优秀的软件工程师,写得一手好程序,就要了解计算机是怎么工作的。

举个例子,如果你不懂浮点数的原理,你能知道为什么计算金额的时候不能用浮点数,而要用定点数或者整数? 为什么在做机器学习、图形运算的时候,我们又会选择使用浮点数?再或者字符编码,为什么会遇到乱码?在 Web 页面展现,网络传输数据、日志文件,又或数据库层面,遇到中文乃至更多语言的乱码的时候,到底是哪里出错了?I/O 也是工程师日常工作中非常重要的一个知识点,当你遇到服务器性能调优的时候,很多时候瓶颈都在 I/O,你会看到机器的 load 很高,看到 io_wait 很大,那么这背后究竟代表什么含义?我们又该从哪些角度去排查问题?

我说的这些问题,你应该常常遇到。在我看来,底层原理知识不等于简单基础知识,或者说不等于不重要的知识。相反,组成原理是让你搞懂计算机的本质。

简单地说,你只需要对计算机的硬件有原理性的理解,就可以信赖硬件的可靠性,安安心心用高级语言来写程序。无论是写操作系统、编译器这样的硬核代码,还是写 Web 应用、手机 App 这样的应用层代码,你都可以做到心里有底。

学习组成原理之后,向下,你可以学习数字电路相关的课程,向上,你可以学习编译原理、操作系统这些核心课程。它会让你真正对计算机的知识有一个全局的了解。

如果你看过倚天屠龙记,会发现张无忌几个时辰,就把别人几十年没有练成的乾坤大挪移学会了,最根本的原因,是他有“九阳神功”练就的内功底子!

深入学习这门“底层知识”,就是在练扎马步、核心肌肉力量,提升你自己的“根骨”和“资质”,从而拔高你发展的上限


       △扫码免费试读或订阅

在很早之前,极客时间的编辑找到我,想让我开一个计算机组成原理的课程,在考研统考的 4 门核心基础课程中,极客时间已经出了数据结构与算法、操作系统,计算机网络相关的 3 门很受欢迎的计算机基础课程这是第 4 门也是计算机底层知识的第一课,等你做了多年开发以后,会发现,原来这么多年就是围绕这 4 门课程打转。

市面上有不少经典的书籍,我身边很多工程师都买了资料,却只囤积没怎么学,大部分反馈概念偏多,太抽象,难理解,不好学以致用,不少非科班出身的程序员,直接说“这些书根本看不懂”。

基于此,我和极客时间共同打磨了《深入浅出计算机组成原理》专栏,不同于学校的课程和市面上那些晦涩难懂的资料:

我会将理论与实践相结合,以通俗易懂的语言,把 30+ 计算机组成原理的核心知识,通过工程师工作中的实际场景 + 典型案例,教你真正看懂、学会、记住,洞悉性能问题的本质,学以致用。

我是谁?

我是徐文浩,一个目前正在创业的工程师。2005 年上海交通大学计算机系毕业后,在 Trilogy Software 写过各种大型企业软件;曾任 MediaV 技术总监,从零开始搭建支撑每天百亿流量的广告算法系统,提升了十倍以上的广告收入和 ROI;2016 年底进军人工智能领域。我创办的 BotHub.AI,是唯一进入 F8 大会开发者代表的中国公司。

为了方便大家的学习,我特地整理了一份学习脑图,希望你对将要学习的内容有个总纲的了解,做到心中有数。

这个课程上线几天的时间,已经有超 6000 人加入学习了,很开心看到同学们对这个课程重要性的认知,也看到了大家对专栏的期待。


跟上节奏学习,希望你可以收获
1. 学以致用的计算机底层知识

我将以日常开发中的真实案例,让你理解计算机的各个组件是怎么运作的,遇到问题的根源是什么,从知识→应用→知识,形成闭环,学以致用。

2. 30+ 计算机组成原理核心要点

我会把整个的计算机组成原理通过指令、计算、CPU、存储系统和 I/O 串起来,以一个程序的执行过程进行逐层分解,从历史视角讲清楚“是什么”,结合案例讲清楚”怎么做“。

3. 洞悉性能问题的本质

理解计算机是怎么运作的,以及为什么这么运作,在此基础上,我们才能又快又准地优化性能,提升效率。而我们想要解决的性能问题,其实就是去关注时钟周期时间、每条指令的平均时钟周期数 CPI、指令数。

4. 组成原理在工业界的实际应用

我将手把手带你实操,利用存储器层次结构设计大型 DMP 系统,并通过 Disruptor,跟你一起感受 CPU 的风驰电掣,让你真正学有所用。

总之,学好这门“硬核内功”,会让你在整个软件开发领域中,看到更加广阔的天地,它还会为你带来更多的职业发展机会,比如像我自己的团队里,有个小伙伴开始是做算法应用开发的,因为有扎实的计算机基础知识,后来就转去开发 TVM 这样的深度学习编译器了,是不是很厉害?


       △扫码免费试读或订阅

InfoQ 粉丝专属福利

1. 限时优惠 ¥68(原价 ¥99)。

2. 分享海报,邀请好友订阅即可获得¥24 的现金奖励,多邀多得,上不封顶,APP 内立即提现。

3. 今日订阅,可加入「计算机组成原理学习小组」,仅限前 500 人,还可免费领取 70 位大咖公开课礼包。【公众号后台回复「计算机」领取!】


       

专栏详细目录


  

“练拳不练功,到老一场空。越早弄清楚计算机的底层原理,在你的知识体系中“储蓄”起这些知识,也就意味着你有越长的时间来收获学习知识的“利息”。长久的”复利效应“,会让你的未来走的更远更轻松。

点击阅读原文,一起打通计算机学习的“任督二脉”!

阅读39312
知识 
举报0
关注InfoQ微信号:infoqchina

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。

评论
更多

文章来自于公众号:

InfoQ

微信号:infoqchina

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com   免责声明
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。