JavaScript创始人Brendan Eich访谈录

自从2004年以后,伴随着“Ajax”和“Web 2.0”的出现,JavaScript正迎来自己的新生。JavaScript对于“Ajax”或者“Web 2.0”这场革命来说,是必不可少的组成部分。人们开始逐渐正视JavaScript,而且很多开发者都声称自己喜欢做JavaScript的开发。

Brendan Eich于1995年在Netscape发明了JavaScript语言,这个语言在过去的一些年里曾是一个最被误解的语言,随着AJAX和Web 2.0的发展,人们逐渐正视JavaScript。这是一篇Computerworld对Brendan Eich的一次采访,对JavaScript的过去、现在和未来都做了阐述。 原文:http://www.computerworld.com.au/index.php/id;243672124 原文作者:Naomi Hamilton、Brendan Eich(被采访对象)
以下是对原文的翻译:

什么原因促使你去开发JavaScript?

对于JavaScript的早期历史,其实在自己的博客中写过:http://Weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html 。我在1995年4月4日加入了Netscape,当时的目标是把Scheme语言或者类似的语言嵌入到Netscape的浏览器当中。由于申请没有通过,我加入了Netscape的Server团队,这个团队负责Web服务器和代理服务器方面产品的开发,我在这里工作了一个月,主要进行下一代HTTP的研发。到了五月份的时候,我就被调回当初想加入Client团队,从此我就开始了对JavaScript雏形的开发。

Marc Andreessen和我,连同在Sun工作的Bill Joy,坚信HTML需要一种脚本化的语言,这种语言就算对于新手和业余者来说也会很容易上手,而且这种语言的代码可以直接写在HTML的标记之间,以源代码的形式作为网页的一部分发布。这种信念同时成为了我们的动力。我们打算开发一个“胶水语言”,面向网站的设计者和兼职做网站开发的程序员,以替代以前那种通过图片、插件和Java小程序搭建网站的方式。我们把Java看成是由高薪程序员使用的组件语言,而胶水程序员,也就是那些网页设计师,将通过JavaScript把组件组合起来实现交互。

从这个意义上说,纵观在微软的操作系统和应用程序中使用的编程语言家族中,JavaScript应该和Visual Basic是类似的,而Java和C++类似。所以我们除了可以选择像Java和C++那样“ 真正”的编程语言以外,还可以有一些“小巧”的脚本式语言供选择,比如JavaScript,使得贯穿于编程语言金字塔的分工产生差别,以促进了更多的创新。

遇到过什么特别的需要解决的问题么?

不可编程的网页是静态的,堆砌着文字,充其量把图片放到表格里或者干脆浮动在网页的两侧。通过JavaScript这样的脚本语言,我们可以控制网页上的元素,更改他们的属性并响应事件。实际上,JavaScript在最初的时候就有一个操作浏览器的函数库,但这个库的功能很有限。和服务器之间的通讯方法也仅限于重新加载整个网页。

在JavaScript的开发过程中,遇到过什么必须面对而且特别困难的问题么?

在语言的设计阶段冻结以后,每一个小的开发周期主要就是在检验设计时的想法。我在1995年的5月,用了大概10天的时间开发解释器,包括除了Date对象以外的其它内置对象(Date由其同事Ken Smith协作完成)。95年剩下的日子,我的工作就是把这个引擎嵌入到Netscape浏览器中,并建立那个后来十分著名的DOM(文档对象模型),准确的说应该是 Level 0 DOM,这时候已经可以在JavaScript中通过一系列函数接口控制窗口、文档、链接、图片等对象了,并可以响应事件和通过定时器运行代码。

在1996年中期以前,在Netscape只有我一个人在做JavaScript的开发。

你怎样看待这些年来反对JavaScript的“共鸣”声音?

这些反对的共 鸣都是可以理解的。无论是在网络上、在多用户操作系统中还是在各种兼容的浏览器中,JavaScript都是提供互动性的唯一的编程语言(比其他所有平台都大)。其它的编程语言都是通过插件的形式,而且都是同一家公司开发的,这样就可以通过代码的方式来控制操作性。因此,使用JavaScript和DOM进行开发,曾经是一个很困难的经历。

这无助于Netscape和Microsoft的浏览器战争,猛烈的创新革命促使标准化的过早到来,而且这场战争的结束导致了多年来对JavaScript的忽视,和在IE的垄断下制定各种Web标准。

为什么叫JavaScript?好像开始的时候,JavaScript不叫JavaScript,叫LiveScript……

当时Netscape的产品名称启用了Live这个前缀,比如LiveWire、LiveScript等。但在1995-1996这个时间,Java的发展势头太猛了,如日中天,所以大家决定沾沾光,把名字修改为JavaScript。但必须说明Java与JavaScript技术上的鸿沟还是很大的,而且要填平它真的不容易(纵横于Java和JavaScript的开发者应该有此番的感受)。

你对那些未来的程序员有什么建议么?

学习大师们的经典著作:Knuth、Wirth和Hoare。计算机科学就像一个滚动的轮胎,在学术研究方面,每10-20年就会重复发现一些以前曾经被发现过的东西。当然,近些年来大家也做了大量的工作,但我要说的,学生们不止要从最近的知识中学习,还要向过去的那些大师们学习。

JavaScript从最初的开发到现在,什么是让你最骄傲的?

应该是把优秀的函数和对象原型结合到了一起。对于一个已经标准化的产品,我不会说他有多么完美,因为标准化的过程中扩充了不少的内容,其中包含一些错误。但抛出一些小失误和人为原因,核心的思想完全经住了时间的考验。

JavaScript的不断发展和流行给你带来过什么惊喜么?

JavaScript的流行给了我不小的惊喜。我在很长一段时间里,心里已经默认JavaScript是不会流行的了。原因当然包括那些讨厌的弹出 窗口,但更多是由于这种自由组合的函数和基于原型的对象编程的传统。但后来结果发现,很多程序员本来就是从JavaScript开始学习编程的,还有一些擅长面向对象编程的程序员,很喜欢这种非传统的组合。

你怎样看待像Flash这样不断流行的插件对JavaScript的流行度带来的影响?

Flash 在尽力做到完善的支持Ajax,可以编写脚本,可以在外部访问,和其他插件、像图片和表格这样的内置对象、纯粹的JavaScript对 象一样,以组件的方式嵌入到网页中。开放的网络对待每项技术都是一视同仁的,这也确实妨碍了单一厂商的一枝独秀。你可以通过Flash怎样在Web 2.0的世界中畅游,和微软的Silverlight也瞄准了现代Web世界这个大蛋糕看出一些端倪。

人们不想回到一家厂商的插件充斥着整个网页的时代,所有的网站也会这么想。

首先,展示在最前沿浏览器中的Web标准正在不断进化,并努力与Flash和Silverlight在视频、动画、高性能JavaScript等方面分庭抗争。其次,没有网站愿意为了“bling”而牺牲“reach”。和插件始终存在不足相比,浏览器天生就会支持各种Web标准,比如JavaScript。用户不会经常更新他们的插件,用户也会拒绝使用某个插件,但会信任并继续使用浏览器。

JavaScript最初的核心思想是什么

Web因为它涵盖的范围非常广,这是无论多么流行的设备都无法比拟的,但在Web开发上,你会有很多选择的余地来进行开发 JavaScript最开始的被误解,除了它是讨厌的弹出窗口的始作俑者外,更重要的原因在于JavaScript其自身很“怪”的一种特性,就是“自由组合的函数”和“基于原型的对象编程”,并不为当时擅长面向对象编程的程序员所接受。 JavaScript的影响在不断增长,它不仅已经成为浏览器中脚本的标准,还会成为台式机和其他设备(比如iPhone)中脚本的标准。 JavaScript把优秀的函数和对象原型结合到了一起,核心的思想完全经住了时间的考验。
——这就是JavaScript最初的核心思想。

大部分的JavaScript都是手写的,我也希望这种情况会一直延续下去。

时间: 2024-10-06 23:44:02

JavaScript创始人Brendan Eich访谈录的相关文章

Brendan Eich 谈 Javascript 的起源

Brendan Eich谈论了Javascript的起源.谈Javascript当 然免不了谈Netscape公司.Netscape由Jim Clark和Marc Andreessen创建,最初是试图开发一个杀死Mosaic的杀手级浏览器,Netscape一开始不叫Netscape而叫Mosaic Communications,这显然会引起商标上的纠纷,所以很快改名.Netscape确实杀死了Mosaic,完全统治了浏览器市场.Eich是在 1995年4月加入Netscape,当时Netscap

Mozilla:Brendan Eich将担任Mozilla首席执行官

硅谷网讯 火狐开发商http://www.aliyun.com/zixun/aggregation/29851.html">Mozilla今日宣布,公司联合创始人和现任首席技术官(CTO)Brendan Eich将担任Mozilla首席执行官(CEO). 此外,Mozilla移动设备副总裁宫力(Li Gong)被任命为首席运营官(COO),将管理云服务.移动设备等开发部门. Brendan Eich是Mozilla联合创始人,从1998年起,深入参与Mozilla各方面的发展.此外,Bre

微软云计算:Soluto的创始人Tomer Dvir访谈录

作为现实世界Windows Azure采访系列的一部分,我对Soluto 的创始人Tomer Dvir就Windows Azure 是怎样帮助他们在赢得TechCrunch Disrupt的冠军之后其托管服务器环境扩展到数百万的下载量进行了采访.在这里阅读Soluto的成功故事.下面是采访内容: Himanshu Kumar Singh: 请简单介绍一下Soluto背后的理念. Tomer Dvir: Ishay Green也是创始人之一,青少年时期我就开始从事软件编程.2008年,我们开始一项

统治 Web 的 JavaScript 准备要接管桌面了

编者按:曾 几何时,通信网络曾经活跃过许多协议,那些协议在不同的场景下都有各自的优势.但是后来 TCP/IP 随着互联网的崛起而异军突起,最终形成一统天下的格局.而原本被视为不入流的 Web 前端玩具 JavaScript 现在似乎也在复制着类似的路径,先是渗透到 web 后端开发,然后甚至开始入侵到桌面了.最流行语言 JavaScript 会变成编程界的世界语吗? 创 建于 1995年 的 JavaScript 原本是想给苍白的网页在标记以外再增加一点生气的.但现在它的用处已经远远超出了当时的

Mozilla 联合创始人发布 Brave 浏览器:PC/移动多平台

JavaScript创建者兼Mozilla联合创始人Brendan Eich新成立了一家名为Brave Software的初创企业,并于近日发布了新款Web浏览器"Brave"的早期版本.其特色是能够通过屏蔽程序化的广告,并换成自家的"广告库",以快速呈现网站.目前,该浏览器已经推出了面向Mac.Windows.iOS和Android四大平台的0.7版本(开源许可). Eich在接受VentureBeat采访时表示:"我们最大的特色是速度,因为没有其它浏览

JavaScript:诞生只用了十天,名称是为了更好推广

JavaScript除了提供一个非重度开发者也能使用的程式语言外,也是提供开发者由Java这类静态型别转至动态型别开发语言的一种选择,但是现在Mozilla所推得Asm.js,又将JavaScript带回到了静态型别. 第一天Modern Web大会由JavaScript之父同时也是Mozilla基金会共同创办人Brendan Eich(音:艾可,德国姓)首先拉开序幕,主讲第一场主题演讲Javascript at 20 Years,他说他在1995年仅花了10天就开发出Javascript,在会

创造 JavaScript 仅用 10 天,名称是为了更好推广

avaScript除了提供一个非重度开发者也能使用的程式语言外,也是提供开发者由Java这类静态型别转至动态型别开发语言的一种选择,但是现在Mozilla所推得Asm.js,又将JavaScript带回到了静态型别. 第一天Modern Web大会由JavaScript之父同时也是Mozilla基金会共同创办人Brendan Eich(音:艾可,德国姓)首先拉开序幕,主讲第一场主题演讲Javascript at 20 Years,他说他在1995年仅花了10天就开发出Javascript,在会採

用浏览器玩3A大作?虚幻引擎3移植到Firefox

Mozilla 的工程总监以及 WebGL 的创始人 Vladimir Vukicevic 希望网络和浏览器可以成为现代游戏的一个平台.六个月前,Mozilla 就开始优化它的 C/C++ 编译器 asm.js,让浏览器中运行的 javaScript 达到原生运行速度的一半左右.因为现代电子游戏对图像和计算资源的要求都比较高,所以在浏览器中的运行速度必须尽可能接近原生速度才可以玩 Epic 的<虚幻竞技场 3>等游戏.Asm.js 的一个优点是它依旧还是 javascript,所以写出来的东西

十大流行编程语言和它们的创造者

软件开发领域里有许许多多编程语言.在这里,不断有新的编程语言在诞生,如Scala.Go. Closure等,也不断有老的编程语言慢慢消亡.它们中的许多都曾为软件开发作出了巨大贡献.作为软件开发领域中最重要的事物,编程语言从一诞生起就会 经历人们的议论.批评与改进.这些编程语言的创造者是编程世界的标志人物,当我看到某些人在使用某种编程语言却不知道这门语言从何而来的时候,会感到一种 淡淡的忧伤.对于最为流行的编程语言,出现这种情况的情况较少,比如Java,几乎所有人都知道Java之父的名字James