网络编程
位置:首页>> 网络编程>> JavaScript>> JavaScript创始人Brendan Eich访谈录(2)

JavaScript创始人Brendan Eich访谈录(2)

作者:Computerworld 来源:站徒 发布时间:2008-09-16 12:01:00 

标签:JavaScript,浏览器,编程

你知道有什么JavaScript的应用是在你最初计划之外的么?如果有,是什么?这个应用现在运作得怎么样? 

上面提到Orto这个Java虚拟机就在我当初的意料之外。我不想让JavaScript通过GWT、HaXe或者类似的代码生成器,成为一个“目标(target)”语言,这是另外一种解释语言,在这里JavaScript只是一个对象,或者经过编译可以执行的语言。 

这些代码生成器把JavaScript当成一个安全的中间语言来使用,介于运行于服务器端的高级语言和经过优化的运行于浏览器中的C或者C++代 码。这将过分在JavaScript引擎的代码中强调性能,潜在上会把更多的大部分开发者不会使用的特性填充到Ecma标准中去。 

用这些工具生成的JavaScript代码运行时看起来很“有效”,但从某种意义上说,JavaScripty已经有足够好并且会越来越好的性 能,每个人都想把JavaScript的性能最大化。但是大部分的JavaScript都是手写的,我也希望这种情况会一直延续下去。 

似乎有很多跨站脚本攻击都是通过JavaScript开发的,对于这方面你有什么看法?现在有什么计划来解决这个问题么? 

是的,在这方面我们现在有具体的计划。一方面通过W3C这样的组织制定标准,另一方面通过Web开发者必须遵守的内容约束。更多的内容可以参考下面这个文档: 

http://www.gerv.net/security/content-restrictions/ 

Mozilla的缺陷跟踪系统可以确保这些限制的实施: 

https://bugzilla.mozilla.org/show_bug.cgi?id=390910 

你预计JavaScript的下个版本会在什么时候发布?你认为哪些改进会被整合到新版本中? 

ECMA-262标准的3.1版预计会在2009年年中的时候出炉,我希望一个协调的第四版会在接下来的一年中诞生。我相信无论对于我自己,还是 对于委员会中的每位委员,经过多种多样可操作的雏形实现验证的新版本规范,比定下某个特定日期,在这个日期前必须发布一个法律上认可的但却贸然上线的规范 更加重要。但根据现在的努力,3.1版在短期内就可以实现,而一个协调的第四大版有望在一到两年内成为与3.1兼容的继任者。 

3.1版本的规范,主要致力于修复现有的缺陷,整合一些已经被SpiderMonkey(比如getters和setters)和其他浏览器中的引擎开发出来的功能,以及为对象和属性提供更加完善的功能。(现在的对象不能被继承,属性也不能被重写等问题)。 

紧随3.1版本的这个主要版本,所有的改进都会基于3.1版本的基础上,致力于易用性(包括新语法)、模块化以及更多更完善的功能。总的来说,这个版本就会成为终结使用全局函数进行JavaScript编程的现状的一个解决方案。 

你认为JavayScript在Web 2.0中扮演什么样的角色?
 

很明显,JavaScript对于“Ajax”或者“Web 2.0”这场革命来说,是必不可少的组成部分。我还要说,Firefox、Safari和其他新浏览器之间的竞争,以及由于这些竞争所催生的新标准,同样很重要。 

真正的程序都可以运行在浏览器中,而且这些程序都是用JavaScript写的。 

这就使JavaScript不得不变得十分强大,作为可以运行在现存所有浏览器中的前提。这些浏览器甚至包括微软在新千年的头五年勉强维护的IE 5.5和IE 6.0。因此可以用支柱(tap root)来形容JavaScript。 

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

对我来说这些“共鸣”主要有几个方面: 

* 早期的异议主要是反对把脚本语言直接嵌入到HTML中的。 

* 对JavaScript开启的一些讨厌的功能的排斥(在Firefox出现以前,缺乏完善的控件支持,比如弹出式窗口等)。 

* 不同浏览器对DOM的兼容性不同,这让开发者感到很头痛。让JavaScript可以更好的兼容所有的浏览器,同样很头痛。 

* 当然,有人对Netscape市场部在JavaScript命名时的花招一直耿耿于怀,因为这暗示着JavaScript和Java存在联系,不然的话就 是故意传播JavaScript和Java之间的混乱(必须郑重声明,Netscape的所有人都不想故意传播这种混乱)。 

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

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

另一方面,很多开发者都声称自己喜欢做JavaScript的开发,而且自从2004年以后,伴随着“Ajax”和“Web 2.0”的出现,JavaScript正迎来自己的新生。 

你怎样看待JavaScript对未来的影响?你认为在网络上是否会出现新的客户端脚本语言? 

我认为JavaScript暂时还是默认的,也是唯一需要的浏览器编程语言。但是其它语言也会在浏览器中被支持,开始的时候可能只在某个浏览器中 被支持,最终会演变为跨浏览器的标准形式。Mozilla的浏览器,包括 Firefox,现在已经有选择的整合了C-Python,但是有很多工作还是要由你自己来做,你还要确保你的用户已经安装了C-Python运行库。我 们现在正致力于通过安全地、可兼容地以及可以自动更新的运行库来支持更多流行的语言。 

现在已经很清楚,Web的客户端是很值得进行编程的,这与1995年Marc Andreessen和我预料的一样。现在世界上的台式电脑和笔记本有足够强大的运算能力和存储空间,和以往任何时间相比,都可以做更多有用的任务,不限 制他们的自动化能力,把表单或者消息提交给Web服务器上真正的程序。真正的程序同样可以运行在浏览器中,而且他们是用JavaScript写的。 

JavaScript的影响在不断增长,它不仅已经成为浏览器中脚本的标准,还会成为台式机和其他设备(比如iPhone)中脚本的标准。 

0
投稿

猜你喜欢

  • asp中fso怎样判断一个盘上是否有文件,实例代码,需要的朋友可以试试:<% dim objfolder dim 
  • W3C终于发布了第一个HTML5草案,大家还沉溺在HTML2XHTML转换的快乐和痛苦中时,却又突然发现,HTML5和XHTML2,到底谁是
  • javascript中的数组对象捆绑了强大的方法因此它可以用很简短的代码实现强大的数组操作而这些功能要C或者c++实现的话可能需要花费几倍的
  • 这带来了很多好处,但是也要求学习一些新的概念、命令、使用和管理任务。所以在投入你的生产系统之前,看看它解决什么、管理什么,以及对它的正反面评
  • 今天看YUI的视频教程,YUI的工程师介绍的一款在线的图片压缩工具,也许你用过,也许没有,不过我这里强烈推荐大家用一下,我用smush.it
  • 今天在网上找了一下Microsoft Enterprise Library 5.0 如何集成MySQL数据库, 结果只找到了entlib 4
  • Ajax的流行给用户体验带来了很大程序的提升,而“注册“这项做为互联网最常用到的功能也自然而然的成为Ajax最常光顾的地方,实时判断用户输入
  • 判断访问是否来自搜索引擎的函数,有兴趣的可以试试! <% '检查当前用户是否是蜘蛛人 Function check(
  • 在服务器上生成动态内容是使用ASP最主要的原因之一,所以我们选择的第一个测试项目是确定把动态内容发送到应答流使用什么方法最好。基本的选择有两
  • 如图:其中Num是自增长列,Operation是分类标签,count是汇总数据  代码如下:select Num=row_numb
  • 本文探讨了提高MySQL 数据库性能的思路,并从8个方面给出了具体的解决方法。1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取
  • 在进行ASP网站开发时,有时需在客户端调用MSSQL数据库的数据进行打印,若调用数据量小,可以通过在客户端运用FileSystemObjec
  • 文章主要描述的是SQL Server聚集索引的指示(Cluster Index Indications),在实际操作中借助聚集索引来进行搜索
  •  这是我研究网页切片算法的一个汇总想法。之前我写过:一种面向搜索引擎的网页分块、切片的原理,实现和演示,随着工作的深入,逐渐碰到以
  • 错误15105,从网上找了一些解决方案,一般都是说文件的权限不足的问题,当然附加的时候必须是有数据库附加权限才可以操作的。解决办法1:给相应
  • 偶写的几个ASP字符串处理函数,用于文章分页的小玩意函数名:StrLen作  用:取得字符串长度(汉字为2)参 
  • 本文是关于人物角色的一些简单介绍,感谢瑶芝同学提供的大力帮助!    人物角色(Personas)作为一种技术
  • 前不久有个正要毕业的网友给我发邮件,他毕业设计需要实现锁屏的效果,但是他没有能看懂我之前发布的对话框源码,他问能不能把锁屏相关代码说明下,我
  • 1、很多B2C或者淘宝的卖家反应,下单了但没有支付的占有率超过30%,有的甚至到40%。对于冲动性消费的商品来说,这个70%左右的转化率其实
  • 1.用CSS实现布局让我们一起来做一个页面,首先,我们需要一个布局。请使用CSS控制3个div,实现如下图的布局。考察应试者的基本布局知识—
手机版 网络编程 asp之家 www.aspxhome.com