让Java动起来的脚本语言
2008-01-05 08:23:42 来源:WEB开发网只用了短短的10年时间,却似乎已经成长了35年,java已经迅速在广泛的领域中找到了自己的位置:P2P、开放源代码、无线应用、嵌入式应用程序以及将要命名的某些应用。很难追踪Java的具体方向,因为它在每个领域都正处于领导地位。
现在,让我们看看Java领域中日益增长的脚本语言的影响。
关于快速开发
毋庸置疑,脚本语言,比如Jython、Python、Ruby、Perl和php正越来越流行。Jython实际上是Python编程语言的一个完整实现。它由100%的纯Java语言写成,并且可以很方便地访问Java类库。
这种脚本趋势正由于快速应用程序开发(RAD,Rapid application Development)的发展而越来越扩大化。RAD是一种开发风格,如今它正吸引着越来越多的拥护者。销售部经理给IT部门施加了巨大的压力以便加速生产,IT经理就不得不寻找更高效的方法来缩短研发生产时间。因此,RAD自然成了最好的推动力。
Infravio公司作为一个Java和Web服务的集成商,CTO Mukund Balasubramanian 说:“通过某些脚本语言,你可以变得非常聪明并且能够完成常规Java无法完成的很多事情。假如你知道如何利用一个好的脚本语言,你可以在开发中节省大量的时间和金钱。”
脚本语言的优势
快速开发。它们大大缩短了“开发、部署、测试、调试”周期。部署简便。大多提供即时部署能力,而无需花费大量时间在编译和打包周期上。与已有技术集成。它们大都构建在已有的组件技术,诸如Java或者COM上,以便有效重复利用现有代码。易于学习和使用。技术门槛很低,可以轻松找到大量的使用者。动态代码。脚本语言能够被即时生成和执行,这在某些应用程序中是非常必要和有用的高级特性(比如说,javascript中的动态类型)。
当然,Java脚本语言也存在着一些缺点:凡事没有十全十美。它假定存在着一个“现实”的编程语言,比如说,找到内建在脚本语言中的数据库驱动器是件非常困难的事情。
对于软件工程和代码结构领域的熟练开发者来说,这不太有利。比如说面向对象和基于组件的开发环境。它们通常都不具有“一般性”,而是为某种特定的应用程序所产生,比如说PHP和互联网。“尽管如此,脚本语言可以加速软件开发的进程,并且将其扩展到一个巨大的领域。但是必须要注重的是选择特定的应用程序,比如说动态页面或者完成一个‘真实’的编程语言(如对于Java而言就是Jython)。”Balasubramanian如是说。
第三方实用程序
通过基本框架帮助网格脚本,IBM的 Bean Scripting Framework的应用程序使得将Tcl、Python、Perl和其他脚本语言嵌入Java应用程序相当简单。Sun、Borland、BEA和其他厂商也提供类似应用程序。但是熟练的Java开发者,比如Mentro Graphics公司的David Kearns指出,支持一个脚本语言会有时间和费用上的风险,更不要说支持六个这样的语言了。
在最近《Java World》的一篇文章中,Kearns描述了在Java应用程序中支持脚本会有的潜在风险。
“Jython具有最快的脚本解释能力,同时具有强大的编程特性。”他说,“我最关注的其实是Jython的控制流语法,对你来说也许重要,也许不重要。因为有新的领域要涵盖,为Jython编写脚本或许比Javascript和BeanShell需要更长的学习周期。假如需要用Python编写高级应用的脚本,我推荐去买本书。Python是一个很流行的编程语言,所以书店中会有大量的书籍可供选购。”
其他Java脚本语言
这里简单介绍一些其他被广泛使用的、与Java相关的脚本语言。
Beanshell。Beanshell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。
BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。它将脚本化对象看作简单闭包方法(simple method closure)来支持,就如同在Perl和JavaScript中的一样。
更多精彩
赞助商链接