臃肿的软件
JavaScript 已经和 JDK 6 绑定到了一起。其他语言也许会添加进 JDK 7。我觉得那样会有点臃肿。首先,Sun 公司绝不会加入一门语言就停下来。如果它选了 BeanShell,拥护 Groovy 的家伙也会要求加入。如果加入了 Groovy,用 Ruby 的家伙也会坚持要加入。如果 Ruby 加入,还能忽略 Python 吗?标准 JDK 已经太庞大了。支持多种脚本语言是一回事,但将它们绑定到一起还是同一件事吗?策略性的改进应该是支持所有这些语言,但一个也不绑定进来。
积极的一面是,Sun 公司正在研究减小初始下载尺寸和减少应用程序启动时间的方法,尤其是 applet 和
Java Web Start 应用程序。可能的方法是,将大量的类库放到服务器上或放到速度较慢的后台线程中,只下载需要的部分。
如果我们只说一门语言,世界将会索然无味。尽管
Java 平台是开发成熟应用程序的绝佳选择,但它从来就不适应于小程序或宏。
Java 6 意识到了这一点,它添加了 javax.script 包实现,以便和脚本语言(如 BeanShell、Python、Perl、Ruby、ECMAScript 和 Groovy)进行互操作,也添加了一项 invokedynamic 虚拟机指令来允许将动态类型语言直接编译为
Java VM。
2007 年,我将宝押在 Ruby 上,尽管它并不是我个人的最爱。对于我来说,Python 代码似乎比 Ruby 代码更简洁更易于理解,我认为大多数
Java 程序员都会这样认为。然而,Python 出来的不是时候。许多开发人员不得不在学习 Python 代码还是学习
Java 代码间作出选择,而多数人选择了
Java 代码。既然他们终于弄懂了
Java 语法,又打算在工具箱中添加另一门语言,他们想要的是明天的语言,而不是昨天的语言,而那门语言似乎就是 Ruby。更重要的是,Ruby 的 Ruby on Rails 是一个绝对杀手级的应用程序。它的简单性对于多数觉悟了的
Java 企业版(
Java Enterprise Edition,JEE)开发人员来说具有难以置信的魅力。
除了 Rails,比起其他脚本语言,JRuby 项目和现有的
Java 代码很好或更好地集成到了一起。事实上,JRuby 也许会超越标准 Ruby 分布,并成为 Ruby 程序员们更偏爱的平台,而不止是
Java 程序员们将 Ruby 作为第二种选择。这很好。Python 程序员们会这样反对:他们这些年来已经将 JRuby 最好的方面加入到 Jython 中,他们是对的,但我讨论的是 2007 年将 发生什么,而不是应该 发生什么。这很不幸但却是事实:Ruby 获得了契机,而 Python 没有。
其他脚本语言会被逐渐逐出界外。Perl 太过时了,不能很好地适应现代应用程序。Groovy 缺少明确的视角,还趋向于将计算机科学的时髦用语凌驾于可用性和熟悉性之上,这让它深受其苦。BeanShell、Jelly,还有半打其他语言可能都从未吸引过超过一个的称心追随者。来年的这个时候,到处都会是这样的呐喊:Ruby 将成为
Java 程序员们选择的脚本语言。
posted on 2007-10-04 21:48
火焰出林 阅读(134)
评论(0) 编辑 收藏