起始
JavaScript,一个1995年的网景公司基于为了给公司的浏览器嵌入一个可以与JAVA搭配使用的辅助脚本语言,而在十天做出来的一款网页脚本,却没想到在之后的二十几年里慢慢成为了世界前端史上很重要的一个事情。
在1995年,JavaScript之父Brendan Eich(下称布兰登·艾克)入职网景公司,最开始的目标其实是把Scheme语言嵌入到网景浏览器里,但是,由于公司内部的决策,导致这个目标变成了发明一种与Java搭配使用的辅助脚本语言并且语法上有些类似,这个决策导致排除了采用现有的语言,例如perl、python、tcl或Scheme。于是,布兰登·艾克在公司的要求下,使用了十天设计了JavaScript的原型。
JavaScript最开始并不叫这个名字,最初的命名其实是Mocha,一款咖啡的名字,95年9月的时候改名为LiveScript,同年12月的时候,网景公司与当时的昇阳电脑公司组成的开发联盟为了让这门语言搭上JAVA这个当时的编程语言“热词”,于是临时决定改名为JavaScript,这导致了后来很多人以为两者是不是存在什么关系,但其实两者有很大的不同。
其实现在想想,要是当时布兰登·艾克并不是用十天草草写了一个JavaScript出来,而是用更长时间打磨出来一个东西,之后的跟微软也好,其本身的故事也好,会不会有很大的不同,这个很值得揣摩,应该会很有趣。
消亡
在1995年,网景公司推出JavaScript的同时,微软公司也推出了Internet Explorer,从而引发了与网景的浏览器大战,并于96年8月跟着Internet Explorer 3.0一起推出了JScript。
JScript跟JavaScript两者除了名字有所不同之外,其实其他的东西大致上相同,但是IE3.0由于支持CSS,成为首个支持CSS技术的主流浏览器,并引进诸多其他方面的支持,因此IE3的改进在当时来说是十分具有代表性的,浏览器大战也由此展开。
在浏览器大战展开之后,网景公司意识到需要想个办法不要被微软抢占市场,所以在1996年11月,网景正式向ECMA(欧洲计算机制造商协会)提交了语言标准,并于1997年6月以JavaScript为基础制定了ECMAScript标准规范“ECMA-262”,同年推出了网景导航者4.0版本,大幅度强化了JavaScript与其他功能,但是同时出现的BUG和CSS的误译,使得市场占有率渐渐被IE侵蚀。
1997年,苹果电脑因为和微软合作,所以Mac OS中也捆绑了IE浏览器,而Mac OS8.5之后IE for Mac一直作为Mac OS的默认浏览器使用到2006年1月31日被苹果发明出来的Safari取代,而在97年之前,Mac OS自带的浏览器是网景浏览器。
1998年6月时,Windows98发布,并将IE浏览器以预先安装的方式安装在操作系统中,电脑安装好之后就可以使用,在当时的网速各方面的问题下,使得其他浏览器的试用机会变少。
最终,网景公司由于市场占有率日渐低下,做出了一个很重大的决定,受到当时流行的Linux等开放源代码项目影响,网景公司决定公布网景通信家的源代码,转型成为开放源代码的软件,软件项目名字叫做“Mozilla”,该项目的开发就交由非盈利团体Mozilla组织(Mozilla Organization)进行,并一直延续至今。
JavaScript的优缺点
聊完网景公司与JavaScript的诞生到消亡,接下来来聊一聊JavaScript的优点与缺陷。
JavaScript的缺陷:
1.设计阶段过于仓促:由于JavaScript设计阶段其实一共就只有十天,设计师本人只是为了交差,也并不愿意这样设计。而另一方面,这种语言的设计初衷,只是为了解决一些简单的网页互动,设计者做梦也没有想到,JavaScript将来可以写出想Gmail这样的庞大且复杂的网页,所以当时也就没有考虑那么复杂应用的需要。
2.没有先例:JavaScript同时结合了函数式编程和面向对象编程的特点,这很可能是历史上的第一例。而且知道今天位置,JavaScript仍然是世界上唯一使用Prototype继承模式的主要语言,这也使得它没有设计先例可以参考。
3.过早的标准化:JavaScript的发展非常快,根本没有时间调整设计。 1995年5月,设计方案定稿;10月,解释器开发成功;12月,向市场推出,立刻被广泛接受,全世界的用户大量使用。Javascript缺乏一个从小到大、慢慢积累用户的过程,而是连续的爆炸式扩散增长。大量的既成网页和业余网页设计者的参与,使得调整语言规格困难重重。
更糟的是,Javascript的规格还没来及调整,就固化了。
1996年8月,微软公司强势介入,宣布推出自己的脚本语言Jscript;11月,为了压制微软,网景公司决定申请Javascript的国际标准;1997年6月,第一个国际标准ECMA-262正式颁布。
也就是说,Javascript推出一年半之后,国际标准就问世了。设计缺陷还没有充分暴露就成了标准。相比之下,C语言问世将近20年之后,国际标准才颁布。
\
JavaScript的优点:
既然Javascript有缺陷,数量还不少,那么它是不是一种很糟糕的语言?有没有前途?
回答是Javascript并不算糟糕,相反它的编程能力很强大,前途很光明。
首先,如果遵守良好的编程规范,加上第三方函数库的帮助,Javascript的这些缺陷大部分可以回避。
其次,Javascript目前是网页编程的唯一语言,只要互联网继续发展,它就必然一起发展。目前,许多新项目大大扩展了它的用途,node.js使得Javascript可以用于后端的服务器编程,coffeeScript使你可以用python和ruby的语法,撰写Javascript。
\
\
以上,便是我对网景公司以及JavaScript了解完了之后做出的一些想法跟从网上找到的一些资料的总结,由于还没有完全学习与了解JavaScript,因此没有办法就JavaScript里的诸多缺陷写出自己的了解与看法,但是随着学习的深入,我相信不久的将来,我会写出后续对于JavaScript的思考与总结。