是谁让JavaScript像Java的
- 格式:docx
- 大小:90.45 KB
- 文档页数:4
从头认识js-js的发展历史JavaScript简介JavaScript诞⽣于1995年,当时,它的主要⽬的是处理以前有服务端语⾔(如Perl)负责的⼀些输⼊验证操作。
JavaScript简史1995年2⽉当时就职于Netscape公司的布兰登.艾奇(Brendan Eich)发布的Netscape Navigator 2 开发⼀种名为LiveScript的脚本语⾔,然后热炒Java的顺风车。
临时把LiveScript改名为JavaScript。
1997年,以JavaScript1.1为蓝本的建议被提交给了欧洲计算机制造协商会。
TC39(39号技术委员会)由来⾃Netscape,Sun,微软,Borland及其他关注脚本语⾔发展的公司的程序员组成,他们经历数⽉的努⼒完成了ECMA—262定义⼀种名为ECMAScript(发⾳为“ek-ma-script”)的新脚本语⾔的标准。
第⼆年,ISO/IEC(Internationnal Organization for Standardization and International Electrotechnical Commission,国际标准化组织和国际电⼯委员会)也采⽤了ECMAScript作为标准(即ISO/IEC-16262)。
⾃此以后,浏览器开发商就开始致⼒于将ECMAScript作为各⾃JavaScript实现的基础,也在不同程度上取得了成功。
JavaScript实现通常我们把JavaScript和ECMAScript⽤来表达相同的含义,但是⼀个完整的JavaScript由以下三个不同的部分组成。
1.核⼼(ECMAScript)2.⽂档对象模型(DOM)3.浏览器对象模型(BOM)ECMAScript事实上由ECMA-262定义的ECMAScript与web浏览器没有依赖关系。
实际上,这门语⾔本⾝并不包含输⼊和输出定义。
只是定义了这门语⾔的基础,⽽在基础上可以构建更完善的脚本语⾔。
Javascript是目前Web程式開發最重要的程式語言,是一種Script語言(指令碼語言、腳本語言),在瀏覽器(客戶端)的程式語言領域,幾乎沒有其它的程式語言可以與之對敵。
有許多不同的名字或類似的名稱與之有關係,像是Mocha、LiveScript、JScript、ECMAScript。
當然,首要的誤解在於名稱,Javascript 與知名的程式語言Java事實上並沒有太大關係,Javascript的語法相較於Java,和C語言還比較相似,Javascript是在1996年由網景(Netscape)開發出來的程式語言,當時也是為了自家的瀏覽器所制定。
而Java是由昇陽公司所開發的語言,會使用Javascript的名稱純粹是為了和昇陽公司商業合作的考量。
script 字尾意謂著Javascript是一個腳本語言,而非程式語言,程式語言的結構相對會比較複雜,在能力上也較強,但在現今電腦資訊硬體和網路愈來愈發達的年代,腳本語言的優秀的開發效率更好、學習容易且結構簡單,成了現今非常重要的應用程式開發的一類。
當然,Javascript的誤解很多,像是早期的Javascript並不是可以搬得上抬面的程式語言,只是用來作一些動態選單、圖片特效的網頁小程式。
但是,因為在2005年之後,Jesse James Garrett提出集合多種技術的AJAX應用說法、Oreilly 提出的Web2.0應用說法之後,這個與各瀏覽器支援的客戶端程式語言,突然像是冰在冷凍庫中很久的冷飯,被拿出來熱炒了一翻,要注意這期間距現在才短短數年而已。
當然,Google這家突然間成為這一代的網路霸主,主導著新一代的網路技術與應用,其所憑藉的相關技術,都是當今最熱門的技術發展主軸。
對於許多Web開發工程師而言,現在的Javascript與之前的小程式應用愈來愈無關了。
Javascript有其特殊的物件導向屬性,Crockford認為它的物件導向的部份是足以應用的,利用Javascript的雛形(prototype)導向繼承、以及封閉(Closure)特性來定義私有、公開的屬性與方法,物件導向的基本結構仍然可以達成。
JavaScript简介JavaScript语言的前身称作Livescript。
自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原有的Livescript重新进行设计,并改名为JavaScript。
JavaScript是一种一种解释性的、基于对象和事件驱动并具有安全性能的脚本语言,既可以用在客户端有可以用在服务器端,主要用在客户端,有了JavaScript,可使网页变得生动。
使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。
它通过嵌入或调入在标准的HTML语言中实现。
JavaScript通过嵌入或调入在标准的HTML语言中实现。
它的出现弥补了HTM L语言的缺陷,它是Java与HTML折衷的选择,具有以下几个基本特点:(1)简单性JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。
它的基本结构形式与C、C++、VB、Delphi十分类似。
但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。
它与HTML标识结合在一起,从而方便用户的使用操作。
(2)动态性JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。
它对用户的反映响应,采用以事件驱动的方式进行。
所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。
比如按下鼠标、移动窗口、选择菜单等都可以视为事件。
当事件发生后,可能会引起相应的事件响应。
(3)跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。
(4)节省CGI的交互时间随着WWW的迅速发展有许WWW服务器提供的服务要与浏览者进行交流,这项工作通常由CGI/PERL编写相应的接口程序与用户进行交互来完成。
javascript与Java的区别在各种网页制作技术论坛中,常常有人询问javascript与Java有什么区别,甚至有人误认为javascript就是Java。
javascript与Java确实有一定的联系,但它们并不像我们想象的那样联系紧密,甚至可以肯定地说它们有很大的区别。
什么是JavaScript ?JavaScript 是对 ECMA 262 语言规范的一种实现,易学易用。
JavaScript 是一种解释型的、基于对象的脚本语言。
尽管与诸如 C++ 和 Java 这样成熟的面向对象的语言相比, JavaScript 的功能要弱一些,但对于它的预期用途而言,JavaScript 的功能已经足够大了。
在目前流行的浏览器中,Netscape公司的Navigator 2.0以上版本的浏览器具都有处理javascript源代码的能力。
javascript在其中实现了它的1.0版本,并在后来的Navigator 3.0实现了它的1.1版本,在现在推出的Navigator 4.0(Communicator)中,javascript在其中实现了它的1.2版本。
微软公司从它的Internet Explorer 3.0版开始支持javascript。
Microsoft把自己实现的javascript规范叫做JScript。
这个规范与Netscape Navigator浏览器中的javascript规范在基本功能上和语法上是一致的,但是在个别的对象实现方面还有一定的差别,这里特别需要予以注意:JavaScript 不是任何其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。
不过,它有其局限性。
例如,您不能使用该语言来编写独立运行的应用程序,并且该语言读写文件的功能也很少。
此外, JavaScript 脚本只能在某个解释器上运行,该解释器可以是 Web 服务器,也可以是 Web 浏览器。
Java跟JavaScript两者间的关系和区别
想必很多⼈在刚接触和认识Java的时候,都好奇它与JavaScript之间的关系,长得这么像,难道是出⾃同门的升级版?嗯,他们的发明者确实颇具渊源,⽽且客观来说,JS确实相较Java更加简洁⼤众,但它们本质上却仍然是两种完全不同的语⾔,那区别在哪呢?
数据类型不同
的数据类型分为8种,分别是:byte、short、int、long、float、double、char以及Boolean,⽽JavaScript的数据类型为三种,分别为:number、string和Boolean。
除此之外,Java和Javascript变量⽅⾯也有不同。
⼆者定位不同
Java是⼀种完全⾯向对象的编程语⾔,想要运⽤Java写东西就必须先设计对象,⽽JavaScript不⼀样,它是基于对象的⼀种脚本语⾔,它为开发者⾃带提供了很多内部对象,要更为简易省时。
联编⽅式不同
Java采⽤静态联编,Java的对象引⽤必须在编译时就进⾏,编译器需要实现强类型检查,⽽JavaScript不同,它采⽤动态联编,它的对象引⽤可以在运⾏时检查。
⽤处不⼀样
它们最本质的不同就是⽤途,Java⽬前被⼴泛应⽤于PC端、⼿机端、互联⽹、数据中⼼等等,⽽JavaScript则被主要⽤于嵌⼊⽂本到HTML 页⾯,读写HTML元素,控制cookies等。
Java和JavaScript各有所长各有专精,Java的舞台在编程领域,⽽JavaScript的得⼼之处是在Web页⾯中,它⼏乎⽆所不能。
JavaScript简介和发展史,JavaScript组成和开发⼯具-乐字节⼀、JavaScript简介JavaScript 是⼀种具有⾯向对象能⼒的、解释型的程序设计语⾔。
更具体⼀点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语⾔。
它的主要⽬的是,验证发往服务器端的数据、增加 Web 互动、加强⽤户体验度等。
1. JavaScript 发展史⼤概在 1992 年,⼀家称作 Nombas 的公司开始开发⼀种叫做 C– –(C-minus-minus,简称Cmm)的嵌⼊式脚本语⾔。
保持与 C(和 C++)的相似性,以便开发⼈员能很快学会。
Nombas最终把 Cmm 的名字改成了 ScriptEase,⽽这种嵌⼊式脚本的理念也成为因特⽹的⼀块重要的基⽯。
1995 年,Netscape(⽹景)公司的布兰登与 Sun 公司联⼿开发⼀个称为 LiveScript 的脚本语⾔。
为了营销便利,之后更名为 JavaScript(⽬的是在 Java 这课⼤树下好乘凉)。
当时微软决定进军浏览器,发布了 ie 3.0 并搭载了⼀个 javascript 的克隆版,叫做 jscript。
在微软进⼊后,有 3 种不同的 javascript 版本同时存在: javascript 、 jscript 以及 scriptease。
三个版本恰恰突出了⼀个问题就是,没有⼀个统⼀的语法标准,所以,1997 年来⾃ netscape、 sun、微软、borland 和其他⼀些对脚本编程感关趣的公司的程序员组成的 tc39 锤炼出了 ECMA-262,该标准定义了叫做 ECMAscript 的全新脚本语⾔。
从此,Web 浏览器就开始努⼒(虽然有着不同程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。
ECMAScript 是⼀个重要的标准,但它并不是JavaScript 唯⼀的部分,当然,也不是唯⼀被标准化的部分。
JavaScript历史及发展JavaScript开端由Netscape的Brendan Eich规划。
JavaScript是甲骨文公司的注册商标。
Ecma世界以JavaScript为根底拟定了ECMAScript规范。
JavaScript 也能够用于别的场合,如服务器端编程。
完好的JavaScript完成包含三个有些:ECMAScript,文档目标模型,浏览器目标模型。
[7]Netscape在开端将其脚本语言命名为LiveScript,后来Netscape在与Sun合作以后将其改名为JavaScript。
JavaScript开端受Java启示而开端规划的,意图之一即是“看上去像Java”,因而语法上有类似之处,一些称号和命名规范也借自Java。
但JavaScript的首要规划准则源自Self和Scheme。
JavaScript与Java称号上的近似,是其时Netscape为了推行思考与Sun微体系达成协议的成果。
为了获得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。
为了互用性,Ecma世界(前身为欧洲计算机制造商协会)创建了ECMA-262规范(ECMAScript)。
两者都归于ECMAScript的完成。
虽然JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推行和宣扬,可是JavaScript 具有非常丰富的特性。
[8]开展前期,JavaScript的规范并未断定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase 三足鼎立。
1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland构成的工作组断定统一规范:ECMA-262,遥阳网站建设使用JavaScript开发网站前端。
yyhkcn_web_sxt。
你应该知道的8个Java 的领军人物2010-08-30 09:01 | 13021次阅读| 来源:Javaeye 【已有77条评论】发表评论关键词:Java,Java之父,Spring,Hibernate | 作者:ydj9931 | 收藏这篇资讯导读:本文介绍了8个Java的领军人物,他们创建了框架,产品,工具或者书籍,并将其捐献给了Java社区,改变了Java的编码方式。
8. Tomcat & Ant创始人James Duncan Davidson,Tomcat和Ant创始人。
Duncan于1970年7月29日生于美国德克萨斯州。
主要专注在Mac OS X、Java 和XML技术。
他频繁地在全世界各种会议上演讲,话题范围从开源到高效Java开发。
Duncan 是Apache Tomcat和Apache Ant的原创作者,1997-2001年曾在Sun Microsystems工作,参与促成了Sun Microsystems公司向Apache Software Foundation的捐赠。
在Sun工作期间,他创作了两个版本的Java Servlet API规范,以及Java API for XML Processing(Java版XML API)规范。
相关链接James Duncan Davidson TwitterJames Duncan Davidson WikiJames Duncan Davidson personal blogApache AntApache Tomcat7. Test Driven Development & JUnit创始人Kent Beck是XP(Extreme Programming)的创始人;同时还是极限(Extreme)编程,测试驱动开发的创造者;并与Erich Gamma一起创建了JUnit,也许就因为这个简单而又强大的工具,让众多的程序员更加认可和信赖极限编程,从而引起了Java敏捷开发的狂潮。
Javascript继承机制一、讲个故事吧澄清在先,Java 和Javascript是雷锋和雷峰塔的关系。
Javascript原名Mocha,当时还叫做LiveScript,创造者是Brendan Eich,现任Mozilla公司首席技术官。
1994年,历史上第一个比较成熟的网络浏览器——Navigator0.9版诞生在网景公司(Netsc ape),极为轰动。
但是,Navigator0.9只能用来浏览,不具备与访问者交互的能力,比如,用户提交一个数据表单,如果表单为空,浏览器是无法判断的,只能直接提交给服务器端,再把空值的错误返回,让用户重新填写,这样显然是低效率和浪费资源的。
这个时候,对于正处于技术革新最前沿的Netscape,开发一种实用的客户端脚本语言来处理这些问题变得必要起来,于是,这个任务落到了工程师Brendan Eich身上。
他觉得吧,木必要设计得很复杂,只要能搞定一些简单操作就够了,比如判断用户有没有填写表单。
1994年正是面向对象编程(object-oriented programming)的兴盛时代,C++是最流行的语言,而Java语言的1.0版即将于次年推出,Brendan Eich难免受其影响,他想将Java script里面所有的数据类型看做是对象(object),这一点与Java非常相似。
但是,他马上就遇到了一个难题,到底要不要设计” 继承”机制呢?二、继承的演变1、采用new关键字生成实例处理表单验证这样简单功能脚本语言显然是不需要”继承”机制的,然而如果Javascript里面都是对象,就需要有一种办法来把所有对象联系起来。
最后,Brendan Eich还是设计了”继承”。
只是,他并没有引入”类”(class)的概念,因为一旦有了”类”,Javascript就是一种完整的面向对象编程语言了,这好像有点太正式了,与设计初衷也远了,同时增加了初学者的入门难度。
参照到C++和Java语言都使用new命令来生成实例:C++这样写:ClassName *object = new ClassName(param);Java这样写:Foo foo = new Foo();那么,也可以把new命令引入了Javascript,用来从原型对象生成一个实例对象。
Java发展史之Java的由来Java发展史之Java的由来Java发展史之Java的由来Java:由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
Java语言是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由当时任职太阳微系统的詹姆斯·高斯林(James Gosling)等人于1990年代初开发,它最初被命名为Oak。
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java从第一个版本诞生到现在已经有十九年的时间了。
时间若白驹过隙,转瞬即逝。
弹指间19年过去了,在下图所展示的时间线中,我们看到JDK已经发展到了1.8版。
在这19年里还诞生了无数和Java 相关的产品、技术和标准。
现在让我们走入时间隧道,从孕育Java语言的时代开始,回顾一下Java的发展轨迹和历史变迁。
1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。
这个计划的产品就是Java语言的前身:Oak(橡树)。
Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位并蜕变成为Java语言。
1995年5月23日,Oak语言改名为Java,并且在SunWorld大会上正式发布Java 1.0版本。
Java语言第一次提出了“Write Once,Run Anywhere”的口号。
1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。
JDK 1.0提供了一个纯解释执行的Java虚拟机实现(Sun Classic VM)。
JDK 1.0版本的代表技术包括:Java虚拟机、、AWT等。
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。
是谁让 JavaScript 像 Java 的?
JavaScript 像 Java 的地方只是一些表层的语法比如 try catch,一些保留字,比如 super,package,一些 API,比如 Date 和 Math.这些许许多多的表层语法堆砌起来让 JavaScript 看起来像 Java,只是像,但真正核心的语言特性是来自其他语言的.
首先了解一下 JavaScript 的历史,下面的一段对话引用并翻译自 infoworld 对 Brendan Eich 的采访:
InfoWorld: 据我了解,JavaScript 最初名为 Mocha,然后成了 LiveScript,在 Netscape 和 Sun 联合时 被改名为 JavaScript.但它实际上和 Java 没有任何关系,或者说关系不大,我说的对吗? Eich: 你说的很对.在 1995 年的 5 月份到 12 月份的六个月内,JavaScript 的名字先后从 Mocha 到 LiveScript 再到 JavaScript.在 12 月份上旬,Netscape 和 Sun 签订了许可协议,让 LiveScript 改名成 为 JavaScript.其想法就是想让 JavaScript 成为一门与 Java 这门编译语言互补的脚本语言.
Brendan Eich 非常多次的表示,是当时网景的某个管理人员让他把 JavaScript 设计的像 Java,下面列举几 个出处:
1. 引用并翻译自
是使用一门已有的语言,还是发明一门新的语言,这也不是我能决定的.来自高层管理人员的强制命令 是这门语言必须"看起来像 Java".这样也就排除了已有的语言 Perl,Python,和 Tcl,以及 Scheme.后 来,在 1996 年,John Ousterhout 在给 Tk 做宣传时还感叹道,Tcl 错过了这样一个很好的机会.
2.引用自
Engineering VP 的 VP 是 vice president,工程副总裁的意思.从这句话可以看出,连 JavaScript 之父自己 都不愿意承认 JavaScript 像 Java,我个人认为,JavaScript 像 Java 的地方只是一些表层的语法比如 try catch,一些保留字,比如 super,package,一些 API,比如 Date 和 Math.这些许许多多的表层语法堆砌起来让 JavaScript 看起来像 Java,只是像,但真正核心的语言特性是来自其他语言的.
在 Jamie Zawinski(这个人一定要了解一下)的博客回复中,Brendan Eich 还表示,如果他在十天内做不出 JS,会产生另外一种更糟的语言:
JS had to "look like Java" only less so, be Java's dumb kid brother or boy-hostage sidekick. Plus, I had to be done in ten days or something worse than JS would have happened.
3.引用并翻译自 Brendan Eich 给 David Herman 的新书 Effective JavaScript 所作的序.
这一点是众所周知的,我在 1995 年 5 月用十天时间创建了 JavaScript,在管理者这样的胁迫和压力之 下: make it look like Java,” “ “make it easy for beginners,” “make it control almost everything in the Netscape browser.”
Brendan Eich 的确非常多次的说过这句话:"make it look like Java".我每次看到这句话,都很好奇,到底 是哪位管理人员这样要求的呢.尤其是在看过 Code Rush 之后.
不过好奇的不只我一个人,有人在 Quora 提了这个问题:Who was the manager at Netscape, that insisted on making JavaScript look like Java?
Rick Waldron 在推特上告诉了 Brendan Eich,Brendan Eich 亲自去回答了一下:
It was not one manager. I've always said "management". You can infer "technical", so not Jim Barksdale. You should include executives not directly in my chain of command. The Netscape org chart of that era is well-known so I will leave the rest as an exercise. Nothing here was particularly misguided. Remember how big Java was going to be? "Java + Netscape kills Windows" -- who said that? It was a time.... /be
Brendan Eich 并没有直接说到底哪位管理者下的这个命令,只是给了一些提示让提问者自己猜测,最关键的 是,他还给出了当时网景的管理团队名单.
Mike Homer, vice president of marketing. Prior to joining Netscape in October 1994, Homer served as vice president of engineering at EO Corporation (from 1993) and vice president of marketing at GO Corporation (from 1991 to 1993). Before that, he worked at Apple Computer for nine years in a variety of technical and marketing positions. Rick Schell, vice president of engineering. Dr. Schell, who joined Netscape in October 1994, previously spent more than two years as vice president/general manager of the Central Point Division of Symantec Corporation. Prior to that, he served as vice president, languages and dBase, at Borland International from 1989 to 1993. He also held a variety of management positions at Sun Microsystems and Intel Corporation.
其中有可能的只有两个人,一个是 Mike Homer,市场营销副总裁.我一开始以为是他,搞市场的嘛.再看下面 的这个,Rick Schell,vice president of engineering(工程副总裁),这不正是上面 PPT 里说的 VP 吗,那就 是他了,Rick Schell.
了解 JavaScript 的历史不见得有多有用,很的确很有趣,另外,我对 Brendan Eich 本人的经历也比较感兴趣, 下面大概翻译一段他的自述:
我到网景本来是要做一个浏览器中的 Scheme 的,管理者给过这样的承诺,这就像一个诱饵,结果我来了之后, 管理者改变了主意. 我从大学期间就开始研究编程语言的实现,仅仅为了好玩.在我工作生涯的早期,我为 SGI 公司写过一个数据包嗅探工具.我是强烈的 C/Unix 迷.我从底层了解 C 的核心语法.网景让我来实现 JavaScript,仅仅是因为我干的比较快,如果给更充分的时间,许多人都可以比我做的更好,或者即使和我一 样没有足够的时间,也能比我做的更好,谁知道呢?但在当时的网景,没有人能够做到,那机会就是我的了.
原文链接:原文出处:
。