课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
学习编程开发语言,除了需要明白这个编程语言当下的语法特点以外,同时也需要知道这个编程语言在整体编程体系中的地位与作用,下面我们就一起来了解一下具体情况吧。
有一些知识,背后有一个很大的体系,例如,我们对比一下CSS里面的两个属性:
opacity;
display。
虽然都是“属性”,但是它们背后的知识量完全不同,opacity是个非常单纯的数值,表达的意思也很清楚,而display的每一个取值背后都是一个不同的布局体系。我们要讲清楚display,就必须关注正常流(NormalFlow)、关注弹性布局系统以及grid这些内容。
还有一些知识,涉及的概念本身经历了各种变迁,变得非常复杂和有争议性,比如MVC,从1979年至今,概念变化非常大,MVC的定义几乎已经成了一段公案,我曾经截取了MVC原始论文、MVP原始论文、微软MSDN、Apple开发者文档,这些内容里面,MVC画的图、箭头和解释都完全不同。
这种时候,就是我们做一些考古工作的时候了。追本溯源,其实就是关注技术提出的背景,关注原始的论文或者文章,关注作者说的话。
操作起来也非常简单:翻翻资料(一般wiki上就有)找找历史上的文章和人物,再顺藤摸瓜翻出来历史资料就可以了,如果翻出来的是历史人物(幸亏互联网的历史不算悠久),你也可以试着发封邮件问问。
这个过程,可以帮助我们理解一些看上去不合理的东西,有时候还可以收获一些趣闻,比如JavaScript之父BrendanEich曾经在Wikipedia的讨论页上解释JavaScript初想设计一个带有prototype的scheme,结果受到管理层命令把它弄成像Java的样子(如果你再挖的深一点,甚至能找到他对某位“尖头老板”的吐槽)。
根据这么一句话,我们再去看看scheme,看看Java,再看看一些别的基于原型的语言,我们就可以理解为什么JavaScript是现在这个样子了:函数是一等公民,却提供了newthisinstanceof等特性,甚至抄来了Java的getYear这样的Bug。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!