JavaScript几乎是当今web开发必不可少的编程语言,不管你信不信,它都是程序员的必备技能。全球的编程语言超过2500种以上, JavaScript何德何能,让它成为全世界程序员的必选呢?他爸是热门大王Java吗?它没有竞争对手吗?他一直被人们捧在手心的秘诀是什么?
本文对JavaScript关联技术整理成技术路线地图,帮你揭示JavaScript的技术脉络,快速了解JavaScript的昨天、今天和明天。
0.JavaScript何许人也?(懂的,跳过)
有少数人可能还不知道JavaScript是什么?JavaScript,可缩写JS,JS 是一种基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。有点绕,说句人话,JS就是运行在Web页面浏览器端的脚本语言,比如网站注册时,提示你姓名没填、邮箱没录,这都是JS在干活。假如没有JS,你用网页的效果是,你点提交,等待半分钟(时间取决于网速)再提示你必须输入邮箱,而且很有可能页面上已经填了半天的信息全部刷没了,总之,没有JS的日子,注册一个网站得来回折腾半天,搞得你都开始怀疑智商、怀疑人生。
1.JavaScript的起源,出身不凡
JavaScript与Java没有任何关系,JavaScript原名叫LiveScript,由当时最流行的Mosaic浏览器厂商Netscape公司开发,而LiveScript正是Netscape为了提升浏览器用户体验而设计的客户端嵌入式脚本语言。LiveScript不是横空出世,而是借鉴了Self和Scheme两种语言的特点,估计你去看Self和Scheme会有种莫名的熟悉感,Self和Scheme的出身都很好,Self出身于施乐帕洛阿尔托研究中心,Scheme源自于Lisp语言且两者都是出自于麻省理工。1996年,LiveScript随Netscape Navigator 2.0一起发布,发布前Netscape灵机一动决定蹭Java热度,将LiveScript改名JavaScript,事实证明,这一招真管用。
2.同时代竞争对手,三足鼎立
其实作为客户端嵌入式脚本语言,JavaScript不是第一个。早在1992年,有一家叫Nombas的公司开发了一种叫C减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言,捆绑在一个叫CEnvi的软件中。C减减是为了代替宏操作的脚本语言,同时与C和C++保持足够相似性。C减减这个名字,后来Nombas觉得太衰了,于是改名ScriptEase。话说,程序起名还真实费脑子,我也是醉了,居然还真有叫C减减的(C++还可以理解)。不过,Nombas也没想到,C减减不小心成了世界历史上第一个客户端脚本语言。
微软看见浏览器生意好,于是开发了IE,并克隆JavaScript推出了JScript。微软那段时间为了构建他的商业帝国也不知做了多少鸡鸣狗盗之事,当时被业内很多人所诟病,这主要是指欧美那边的人们。不过大约10年后,同样的事情在国内也频繁上演,屡屡爆出某某大厂快速克隆了某某网站某某技术。市场风云,活着,不易。
话说回来,从此,JavaScript、ScriptEase和JScript形成三足鼎立之势。
3.ECMA出面,统一脚本标准
1997年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA),由Netscape、Sun、微软、Borland和其他一些对脚本编程感兴趣的公司的程序员组成的 TC39 锤炼出了 ECMA-262,该标准定义了名为 ECMAScript 的全新脚本语言。
4.JavaScript从客户端走向服务器
在Google浏览器Chrome的推动下,V8(JavaScript运行时环境)和Node.js的出现,将JavaScript推上了人生巅峰。从此,JavaScript不再是一个单纯的、只运行在客户端的脚本语言,它可以像PHP、Perl、ASP、Ruby和Python一样运行在服务器端。
结论
JavaScript是程序员人生巅峰的必备武器