分享
 
 
 

Java发展趋势:走在最前线的脚本语言

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

虽然只有8岁,却犹如35岁的青壮年一般,Java已经迅速地在众多领域确立了其地位:对等网络、开放源代码、无线开发和嵌入式应用程序等等,这还只是其中一些。要准确地把握这门语言的走向是很困难的,因为它正在同时向各个方向齐头并进。

在本系列的文章里,我邀请了经验丰富的Java开发人员来讨论他们认为重要的发展趋势。第一部分涵盖了Java社区的发展(Java Community Process)及其官僚作风的问题。现在,我们要看看Java王国里脚本语言正在增强的影响力,以及使用它们的优势和劣势。

关于快速开发的一切

毫无疑问:脚本编写语言,例如Jython、Python、Perl和PHP,正在被越来越多地使用。Jython事实上就是Python编程语言的完整实现。它100%使用纯Java编写而成,并允许对Java库的轻松访问。

这种脚本编写的趋势在很大程度上是由快速应用程序开发(RAD)推动的,这是一种始终都能够赢得追随者的开发风格。由于市场营销的执行者逼迫IT的生产公司加速产品的开发,因此IT的管理者被迫寻找最有效的方式来满足最终期限的要求。在这里RAD是主要的源动力。

“你可能很擅长某些脚本语言,并且能够完成常规Java所不能完成的任务,”Mukund Balasubramanian说。他是位于加利福尼亚州雷德伍德城的Infravio的首席技术官,负责着Java和Web服务的集成。“如果你知道如何使用一门优秀的语言,你就可以在开发中省下很多的时间和金钱。”

脚本语言的优势

Balasubramanian说,脚本语言具有下列优势:

快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。

容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。

同已有技术的集成:脚本语言被Java或者COM这样的组件技术所包围,因此能够有效地利用代码。

易学易用:很多脚本语言的技术要求通常要低一些,因此能够更容易地找到大量合适的技术人员。

动态代码:脚本语言的代码能够被实时生成和执行,这是一项高级特性,在某些应用程序里(例如JavaScript里的动态类型)是很有用也是必需的。

脚本语言的劣势

但是,Java脚本语言有下面这些劣势:

脚本语言不够全面。它们会要求一门“真正的”编程语言的存在;例如,你必须找一个数据库驱动程序将其内置进脚本语言里。

脚本语言并不是软件工程和构建代码结构的最佳选择,例如面向对象和基于组件的开发。

脚本语言通常不是“通用”语言,但是能够根据专门的应用来调整,例如PHP和万维网。

“因此,脚本语言能够在很大程度上加速软件的开发,但是必须要根据具体的应用来仔细选择――例如动态Web页面,或者对‘真正的’编程语言进行补充,就像Jython是对Java的补充一样,”Balasubramanian说。

第三方的工具能够有助于将脚本和基础框架融合在一起

像IBM的Bean脚本编写框架(Bean Scripting Framework)这样的工具使得将Tcl、Python、Perl和其他脚本语言融合进Java应用程序变得相当容易。Sun、Borland、BEA和其他的公司也提供了类似的工具。但是俄勒冈州威尔逊维尔的Mentor Graphics的资深Java开发人员David Kearns指出,支持一门脚本语言就存在耗时和耗钱的风险,不要说支持六门语言了。

在其最近为Java世界所撰写的一篇文章中,Kearns描述了在你Java应用程序里支持脚本语言所固有的风险。

“在我看来,Jython具有最快的脚本解释器,并有一些强大的编程特性,”他说。“我唯一真正关心的是Jython的控制流句法(control-flow syntax),这可能对你来说很重要,也可能不重要。对于Jacl而言,编写用于Jython的脚本的学习曲线可能要比JavaScript或者BeanShell高,(即学习前者要比学习后两者困难),因为有更多的新东西要学习。如果你想要在Python里编写不同寻常的脚本,那么我推荐你去买本书看看。Python是一门很常见的编程语言,所以你在书店里会有很多的选择。

其他Java脚本语言

下面列举出了一些使用最广泛的面向Java的脚本语言,感谢Java老手――About.com的William Wagers提供这些内容:

Beanshell

BeanShell是一个简短的、免费的、可下载的、可嵌入的Java源代码解释器,它具有使用Java编写成的对象脚本语言的特性。除了普通的脚本命令和句法之外,BeanShell还能够执行标准的Java陈述式和表达式。它能够将脚本对象作为简单的方法闭塞(method closure)来支持,就像Perl和JavaScript里的一样。

Jess

Jess是一个完全使用Java语言编写的规则引擎(rule engine)和脚本环境。Jess最初的灵感来自CLIPS专家系统,但是现在它已经发展成为一个完整的、卓越的动态环境。使用Jess,你能够创建Java applet以及应用程序,并让这些程序根据以说明规则(declarative rule)的形式所提供的信息进行“推理”。

JudoScript

JudoScript是一个Java类的脚本,它具有很多特性:HTTP客户端和服务器编程、文件系统和归档、XML和XSLT脚本编写、JDBC脚本编写,以及HTML修饰能力(scraping)。它还有值得炫耀的带有监控程序的调度程序、sendmail、运行可执行(run executable)、Java GUI的创建、FTP、SSH和SCP,以及Windows注册表等等。这个软件可下载,包括源代码,都是免费的。

Rhino

Rhino使用纯Java编写而成,是一个开放源代码的JavaScript的实现。它通常被嵌入到Java应用程序里,用来向终端用户提供脚本编写的能力。

脚本编写是Java的未来吗?

你认为脚本编写稳固地扎根在Java的未来里吗?将你的看法发布在下面。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有