研发技能难精进,许是补内功的时候到了

金庸武侠小说里,江南七怪教了郭靖很久,总是进展缓慢,但马钰道长只是传授了一些吐纳之法,很快就精进的让人目瞪口呆。再好的招数,也需要内功做基础。

当然,我猜有人会说,那令狐冲怎么算?丧失内功的令狐冲吃的苦头还不够多么,最后不还是学了易筋经,才算是续命成功。

其实学计算机也是如此,编程语言,编程技巧就如同招法;开发工具和平台如同武器;对系统的深入理解就是内功,你内功修炼到位了,飞花摘叶皆可伤敌,不拘泥于招法,亦不拘泥于武器,对于程序员来说,就是触类旁通,一通百通。

所以,对程序员来说,计算机组成原理相关知识重要性,还是个问题么?

不知道大家有没有发现各个大学计算机系的培养计划,它们都有差不多十来门核心课程。其中,“计算机组成原理”却是入门和底层知识的第一课。

看过《飞驰人生》没,一名专业赛车手对赛车的内部构成和工作原理是怎样的了如指掌,才能针对性的调整出最佳的控制状态,你觉得在专业赛事中夺冠,只靠驾驶技巧么?

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

我们直接用肉眼来看,计算机是由CPU、内存、显示器这些设备组成的硬件,而大部分人工作后从事的是软件开发,显然,在硬件和软件之间需要一座桥梁,而“计算机组成原理”就扮演了这样一个角色,它既隔离了软件和硬件,也提供了让软件无需关心硬件,就能直接操作硬件的接口。

简单地说,你只需要对硬件有原理性的理解,就可以信赖硬件的可靠性,安安心心用高级语言来写程序。无论是写操作系统、编译器这样的硬核代码,还是写Web应用、手机App这样的应用层代码,你都可以做到心里有底。
研发技能难精进,许是补内功的时候到了
如上图,学习组成原理之后,向下,你可以学习数字电路相关的课程,向上,你可以学习编译原理、操作系统这些核心课程。它会让你真正对计算机的知识有一个全局的了解。