《JavaScript高级程序设计》JavaScript简史的语源问题总结

前端技术 everyinch 5579℃ 0评论

《JavaScript高级程序设计》第二版中关于JavaScript简史的原文:
1992年前后,一家名为Nombas的公司(后来被Openwave收购)开发了一种嵌入式脚本语言,并将其命名为C-minus-minus(简称Cmm),Cmm背后的设计思想很简单:要足够强大,可以取代宏;同时还要与C(以及与C++)非常相似,以便开发人员能够迅速掌握它。这个脚本语言被打包到共享软件CEnvi中,许多开发人员就是通过该软件首次体验到了它的强大功能。最终,Nombas公司把Cmm改名为ScriptEase,而ScriptEase则成为了这家公司产品开发的主要驱动力。在Netscape Navigator受到人们狂热追捧之际,Nombas公司开发了能够嵌入到网页中的CEnvi版本。而这种嵌入CEnvi的早期实验性网页被叫做Espresso Pages(浓咖啡网页),它们是在万维网上首次使用脚本语言的标志。相信当初的Nombas公司不太可能意识到,他们这种在网页中嵌入脚本的想法会在很大程度上左右未来因特网的发展。

问题1:而这种嵌入CEnvi的早期实验性网页被叫做Espresso Pages(浓咖啡网页),它们是在万维网上首次使用脚本语言的标志。相信当初的Nombas公司不太可能意识到,他们这种在网页中嵌入脚本的想法会在很大程度上左右未来因特网的发展。

问题2:When the popularity of Netscape Navigator started peaking, Nombas developed a version of CEnvi that could be embedded into web pages.(在Netscape Navigator受到人们的狂热追捧之际,Nombas公司开发了能够嵌入到Web页面中的CEnvi版本。)

有两个错误的观点,其一是“JavaScript在语源上继承自Cmm”。这个错误的观点主要的来自于以下途径(部分):
2002年10月7日的《Wired Magazine(连线杂志)》的一份名为“Mother Tongues”的图;
O’Reilly公布的“The History of Programming Languages图;
Levenez.com公布的“Computer Language History”;

TheHistoryOfProgrammingLanguages

第二个错误的观点,即“Nombas公司的Espresso Pages(浓咖啡版网页)以及其内置的脚本(CEnvi,Cmm语言的开发环境)是WWW上首次使用的脚本语言”。这个错误的观点主要来自于:
在Nombas网站中关于Cmm、CEniv以及ScriptEase等技术与产品的一篇介绍文字;
Brent Noorda先生(Nombas公司总裁)关于发布Espresso Pages的新闻组消息。

nombas1
关于Espresso Pages的这个新闻组消息有着明确的时间(1995.11.27)

nombas3
在NN beta2支持相对完整的脚本特性,例如script标签与function函数等,其发布时间为1995.11.04:

Brendan Eich的澄清
Wiki Talk中保留着Brendan Eich的一段对话,足以为Cmm与JavaScript之间的关系做最终的澄清。

Hello. I first met Brent Noorda in late 1996, when Netscape brought JavaScript to ECMA for standardization. I had never heard of NOMBAS or its products before then. When I created JS in May 1995 (in about ten days for the core language implementation; the rest of that year was consumed by the DOM and browser embedding work), my influences were awk, C, HyperTalk, and Self, combined with management orders to “make it look like Java.”

其一是与Cmm/Nombas的关系:
我第一次见到Brent Noorda是在1996年底,……在此之前我从未听说过NOMBAS或它的产品。

其二是JS语言的创建过程,以及大概的时间:
在1995年5月开始创建JS的时候(大约10天用于核心语言实现,其它的时间主要是用在DOM以及浏览器嵌入方面)。

其三是关于JS语源的最终结论:
我的影响主要来自于awk、C、HyperTalk和Self,以及主管们所要求的“使它看起来像Java一点”。

分享&收藏

转载请注明:陈童的博客 » 《JavaScript高级程序设计》JavaScript简史的语源问题总结

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
'; } if( dopt('d_footcode_b') ) echo dopt('d_footcode'); ?>