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

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

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

标签:JavaScript,浏览器,编程

你怎样看待最近发布的JavaScript框架,比如SproutCode和Objective-J/Cappuccino?你认为他们会给未来的Web应用程序带来什么影响? 

Apple的炒作机器无疑使一些人把这个产品当成了Ajax的第二代。对我来说,他们只是进化在不同阶段的JavaScript库和框架而已。包 括 Google GWT和一些比较流行的库,比如Dojo、JQuery、YUI以及Prototype。我不大想看到某个框架或者库过于强大,至少不希望会持续很多年, 最好他们只是在Web的某个领域很流行。在某些特定的设备上开发,你当然没有什么选择的余地,但在Web上就不一样,因为它涵盖的范围非常广,这是无论多 么流行的设备都无法比拟的。 

你认为我们有可能会看到桌面应用程序最终走向灭亡么?
 

我认为不会,但你会看到更多使用Web技术构建的桌面应用程序,他们甚至是安装在本地的,而不是储存在某个Web服务器主机中。当然Web应用程 序也会持续不断的发展。伴随着JavaScript的成长和其他基于浏览器的Web标准的诞生,我们将能看到Web应用程序可以做更多的互动行的工作,而 这些工作以前都是必须使用桌面应用程序来完成的。我们已经在前沿的浏览器中看到离线应用、二维和三维渲染等已经变为事实。 

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

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

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

首先,展示在最前沿浏览器中的Web标准正在不断进化,并努力与Flash和Silverlight在视频、动画、高性能JavaScript等方面分庭抗争。 

其次,没有网站愿意为了“bling”而牺牲“reach”。和插件始终存在不足相比,浏览器天生就会支持各种Web标准,比如JavaScript。用户不会经常更新他们的插件,用户也会拒绝使用某个插件,但会信任并继续使用浏览器。 

你认为JavaScript将来会在哪些地方延伸?
 

首先自然会在浏览器中,但以后可能会更广,比如在服务器端,或者成为一个端到端的编程语言(更多的替代传统意义上桌面或操作系统的脚本职责)。 

你是否依旧认为(就像你之前说过的)“ECMAScript和皮肤病一样,只是一个多余的商业名称而已”? 

我没有印象说过这句话,但是有一点很确认:这不是一个理想的名字,而且听起来有点像湿疹(eczema)。 

你是否依然预计ECMA-262会在2008年10月前发布?你是否期望新版本将会完全向后不兼容? 

如果你说的是ECMA-262的第四版,那我的答案肯定是不,我们不指望这个版本会在2008年发布。负责下一个版本的技术委员会(ECMA TC39)正在努力协调各种提议,协调的结果将包含一个短期的3.1版本,这将在2009年春天发布,还包括一个接下来发布的更大的版本(其实也不是特别 大),我们称之为ECMA-262第四版。 

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

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

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

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

你认为编程语言会朝什么方向发展?尤其是在接下来的5-20年间?
 

未来的编程语言必须在我们都要面对的两个方面做得更好: 

* 多核/大规模并行计算机现在已经出现在大家的身边,现在只是出现在台式机上,不久移动设备也会具有相应的能力。计算机科学家们在最近的十五年里,正在努力 使并行计算可以做更多有用的事情,也更加容易使用。JavaScript在多核的世界里面有自己的角色需要扮演,从相对简单的扩展开始,比如Google Gear的工作池,“零共享(shared nothing)”的后台线程,通过浏览器中的JavaScript互相发送和接收消息进行通讯。 

* 安全。一个编程语言无法用自身建立起来的安全体系保证安全,因为安全是一套系统属性,涵盖所有层次的抽象,包括上游和下游的语言。但一个编程语言当然可以向用户提供各种更好或者更差的工具来构建安全系统,并证明这些安全属性可以在这个编程语言中得到保证。 

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

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

你还有什么要补充的么?
 

目前没有了,而且我要回去工作了。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com