Javascript的历史

阅读了JavaScript dom简史,从网上看了下,学问很深啊。

首先简单说下网景公司(Netscape)的发展史:
1993年,美国国家超级计算机应用中心(NCSA),发表了一个浏览器,命名为“Mosaic”(拼接,镶嵌),全球最早一款可以显示图片的浏览器,互联网历史上第一个获普遍使用的网页浏览器,在当时人气爆发的大受欢迎,Mosaic的出现,算是点燃后来因特网热潮的火种之一。

1994年4月4日,MOSAIC开发的中心人物马克·安德森和Silicon Graphic(SGI,“视算科技”或“硅图”)公司的创始人吉姆·克拉克在美国加州设立了“MOSAIC Communication Corp”。公司成立后,由于美国伊利诺伊大学的NCSA拥有Mosaic的商标版权,且伊利诺伊大学已将技术转让给望远镜娱乐公司(Spyglass Entertainment),开发团队必须彻底重新撰写浏览器代码。

1994年10月13日,该公司开发的浏览器Mosaic Netscape 0.9发布,虽然仍是beta版本,该浏览器获得重大成功,成为当时最热门的浏览器。

1994年11月14日,为了避免和NCSA的商标拥有权问题,更名为网景通信公司(Netscape Communications Corporation)。同年12月15日,网景浏览器1.0正式版发布,软件改名为网景导航者(Netscape Navigator)。 网景导航者是以共享软件的方式贩卖,因为功能追加得很快,所以当时占有率相当地高。经历后续版本的用户积累,网景成为浏览器市场占有率的首位。

但是这是一款名副其实的浏览器--只能浏览页面,显示超文本文档,浏览器无法与用户互动。比如你登录一个网站输入完用户名点击提交的时候。浏览器并不知道你是否输入了,也无法判断。只能传给服务器去判断。此时,大部分因特网用户还仅仅通过 28.8 kbit/s 的调制解调器连接到网络,即便这时网页已经不断地变得更大和更复杂。而更加加剧用户痛苦的是,仅仅为了简单的表单有效性验证,就要与服务器进行多次地往返交互。设想一下,用户填完一个表单,点击提交按钮,等待了 30 秒的处理后,看到的却是一条告诉你忘记填写一个必要的字段。

网景急于解决浏览器与用户交互这个问题。当时解决这个问题有两个办法,一个是采用现有的语言,比如Perl、Python、Tcl、Scheme等等,允许它们直接嵌入网页。另一个是发明一种全新的语言。
这两个选择各有利弊。第一个选择,有利于充分利用现有代码和程序员资源,推广起来比较容易;第二个选择,有利于开发出完全适用的语言,实现起来比较容易。到底采用哪一个选择,网景公司内部争执不下,管理层一时难以下定决心。

就在这时发生了一件大事,1995年Sun公司将Oak语言改名为Java,正式向市场推出。Sun公司大肆宣传,许诺这种语言可以"一次编写,到处运行"(Write Once, Run Anywhere),它看上去很可能成为未来的主宰。


网景公司动了心,决定与Sun公司结成联盟。它不仅允许Java程序以applet(小程序)的形式,直接在浏览器中运行;甚至还考虑直接将Java作为脚本语言嵌入网页,只是因为这样会使HTML网页过于复杂,后来才不得不放弃。
总之,当时的形势就是,网景公司的整个管理层,都是Java语言的信徒,Sun公司完全介入网页脚本语言的
决策。 因此,Javascript后来就是网景和Sun两家公司一起携手推向市场的,这种语言被命名为"Java+script"并不是偶然的。

此时,34岁的系统程序员Brendan Eich登场了。1995年4月,网景公司录用了他。

Brendan Eich的主要方向和兴趣是函数式编程,网景公司招聘他的目的,是研究将Scheme语言作为网页脚本语言的可能性。Brendan Eich本人也是这样想的,以为进入新公司后,会主要与Scheme语言打交道
仅仅一个月之后,1995年5月,网景公司做出决策,未来的网页脚本语言必须"看上去与Java足够相似",但
是比Java简单,使得非专业的 网页作者也能很快上手。 这个决策实际上将Perl、Python、Tcl、Scheme等非面向对象编程的语言都排除在外了。
Brendan Eich被指定为这种"简化版Java语言"的设计师。
但是,他对Java一点兴趣也没有。为了应付公司安排的任务,他只用10天时间就把Javascript设计出来了。
由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。如果Brendan Eich预见到,未来这种语言会成为互联网第一大语言,全世界有几百万学习者,他会不会多花一点时间呢?
总的来说,他的设计思路是这样的:
(1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型(prototype)的继承机制。

所以,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。 这是由Brendan Eich(函数式编程)与网景公司(面向对象编程)共同决定的。
如果不是公司的决策,Brendan Eich绝不可能把Java作为Javascript设计的原型。作为设计者,他一点也不喜欢自己的这个作品:
"与其说我爱Javascript,不如说我恨它。它是C语言和Self语言的产物。十八世纪英国文学家约翰逊博士说得好:‘它的优秀之 处并非原创,它的原创之处并不优秀。‘ (the part that is good is not original, and the part that is original is not good.)"

时间: 2024-12-29 12:01:00

Javascript的历史的相关文章

js 函数声明方式以及javascript的历史

1.function  xx(){} 2.匿名方式   window.onload=function(){dslfjdslfkjdslf}; 3.动态方式  var demo=new Function('x','y','var y=x+y;return y;'); var sum=demo(4,55); alert(sum); 一.JavaScript的历史 a) 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Scrip

JavaScript高级编程:JavaScript 的历史

为了发挥 JavaScript 的全部潜力,了解它的本质.历史及局限性是十分重要的. 本节为您讲解 JavaScript 和客户端脚本的起源. Nombas 和 ScriptEase 大概在 1992 年,一家称作 Nombas 的公司开发了一种叫做 C 减减(C-minus-minus,简称 Cmm)的嵌入式脚本语言.Cmm 背后的理念很简单:一个足够强大可以替代宏操作(macro)的脚本语言,同时保持与 C (和 C ++)足够的相似性,以便开发人员能很快学会.这个脚本语言捆绑在一个叫做 C

今天才知道的JavaScript的真实历史~[转]

JavaScript真的继承自Cmm吗?JavaScript与Java有多少关系?JavaScirpt最初的设计是怎样的?这个文章是从一个叫编程人生的网站上看到的.不知道出处在哪.在许多资料,JavaScript的语源被追溯到一种名为Cmm的语言.同样是在这一溯源的过程中,人们发现“其实”JavaScript不是第一种网页中的脚本语言.现在一些所谓“公认”的情况是这样的:----------------大概在1992年,一家称作Nombas的公司开始开发一种叫做C减减(C-minus-minus

还原JavaScript的真实历史~

问题 ============ JavaScript真的继承自Cmm吗? JavaScript与Java有多少关系? JavaScirpt最初的设计是怎样的?在许多资料,JavaScript的语源被追溯到一种名为Cmm的语言.同样是在这一溯源的过程中,人 们发现“其实”JavaScript不是第一种网页中的脚本语言.现在一些所谓“公认”的情况是这样的: ---------------- 大概在1992年,一家称作Nombas的公司开始开发一种叫做C减减(C-minus-minus,简称Cmm)的

Javascript.01 -- Javascript基础

Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和sun合作. Java+script   ===> javascript 1.2 W3c规范 ?结构标准        html ?表现标准   css ?行为标准      js 1.3 JavaScript和ECMAScript的关系 ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协

JavaScript基础学习

一.JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了

JavaScript学习笔记(前言)

最近开始学习JavaScript,我学习一门语言之前会首先要给自己设立几个问题和目标,养成习惯了. 这次学习的问题所在: (1)JavaScript是干什么用的? (2)JavaScript怎么使用? 在这里,第一个问题比较庞大,其实我想要问的是: (1)JavaScript的概念. (2)JavaScript的历史. (3)JavaScript的使用范围. 第二个问题则是叫做语法. (1)JavaScript的语法结构. (2)JavaScript的使用.

js的JSON新方法和历史记录管理

今天看妙味的视频,一下是一些简单的笔记: 1.JSON的一些新方法: JSON.stringify(); JSON.parse(); 第一个是把js脚本转换成JSON的字符串形式. 而第二个则是吧这种字串形式的JSON解析出来.具体使用可以百度查询. 新方法,自然就牵扯到兼容问题,老师提到,到json.org也就是json官网去下载一个脚本json2.js,在使用时包含进去,新方法可以兼容到IE7. 2.触发历史管理:1.通过跳转页面 2.通过hash(onhashchange事件) 3.pus

JavaScript 苑,追忆。。。

JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个