“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

JVM 动态语言比武

  • 2008-03-12
  • 本文字数:1298 字

    阅读完需:约 4 分钟

JVM 在支持多语言方面的能力比较晚才受到 Sun 的重视。Sun 态度上的转变反映出了在 JVM 上工作的广大开发者的口味变化,一些开发者正打算通过动态语言来加速部分开发过程。通过纳入 JSR 223(Java 平台脚本),Sun 开始正式认可这种变化,JSR 223 让 Java SE 6 能够执行用 Ruby、Python、Groovy 或 JavaScript 等动态语言编写的脚本代码。

Travis Jensen 是 SirsiDynix 的一名技术架构师,最近他对Groovy、Jython 和JRuby 进行了一次对比,看看这三种语言是否适合用来给一个Java 开发团队进行Web GUI 开发。他按照以下五条粗略的标准来评估这三种语言:

1、 动态语言与 Java 之间的交互。Jensen 觉得 Groovy 最强,Jython 也相差无几:

“因为 Groovy 支持使用 Java 类型,所以覆盖类的方法可以很直接。实例化一个 Groovy 类和实例化一个 Java 类没什么两样。”

他认为 JRuby 的困难最大:

“从 Java 转到 JRuby 不是一件小事,虽然 JRuby 也是编译成 class 文件。编译器主要还是在加速 JRuby 本身的交互上着墨。”

2、 IDE 支持。因为 SirsiDynix 一律使用 JetBrains 公司的 IDEA,所以这方面的比较不够充分。比如 NetBeans 的 JRuby 插件就没有被纳入评估。Jensen 觉得 IDEA 对 Groovy 的支持让 Groovy 成为明显的胜利者。

3、Java 开发者的学习曲线。Jensen 的结论是 Groovy 又一次胜出:

“因为 Groovy 是 Java 的一个超集,所以从 Java 到 Groovy 的学习曲线是十分平直的。尤其是在 API 方面,它可以直接使用 Java API。说实话我不知道 Groovy 的生产效率是不是像 Python 和 Ruby 那么高,但我没有看到任何反面的证据。我直觉认为 Python 和 Ruby 的库更适合各自语言,因此会有更高的生产效率。”

他还认为尽管 JRuby 被看作是一种生产力非常高的语言,但它带给 Java 开发者的挑战却是最大的:

“由于 Ruby 更接近函数式语言,它的学习曲线是三者之中最高的。它在 Java 库以及原生库方面也存在相同的问题。不过老实说,我认为一旦越过困难的学习门槛,JRuby 的生产效率是最高的。在这方面我对 Ruby 只有敬佩之情。”

4、可供选择的 Web 框架。JRuby 赢得一票:

“凭着直接移植的 Rails,JRuby 得到了最高票数。”

Jython 是三者当中最弱的:

“CPython 有很多不错的选择,而 Jython 却已经两年停滞不前。主要原因有两重:一是 Jython 当前版本是 2.2.1,而 CPython 已经是 2.5 了;二是很多框架都为了性能而要求 C 代码编译。”

5、 社区支持:Jensen 觉得三种语言的社区支持都很优秀,不过 Groovy 稍胜一筹:

“因为 JVM 是 Groovy 的唯一平台,所以整个 Groovy 社区同时也属于 JVM 社区。对于打算部署到 JVM 上的人来说,这一点显然是重要的优势。而且 Groovy 挂着‘Java 脚本语言’的名头,也吸引了很多注意力,对社区显然是有好处的。”

当然像这样的评价多少都会有点主观,而且情况会随着时间改变。比如最近受到 Sun 雇佣 Frank Wierzbicki 和 Ted Leung 的鼓舞,Jython 的活跃程度就在上升,他们未来应该会改善 Jython Web 框架的状况。无论如何 Jensen 的文章提供了一个很好的起点,也给面临类似决策的架构师和开发者们设立了一组基本的评估标准。

查看英文原文: JVM Dynamic Language Shootout

2008-03-12 19:072184
用户头像

发布了 225 篇内容, 共 60.5 次阅读, 收获喜欢 49 次。

关注

评论

发布
暂无评论
发现更多内容

吴翰清《计算》重磅来袭,为了可计算的价值,写给所有人!

博文视点Broadview

TikTok 与 YouTube:哪个更适合您?

九凌网络

如何释放React Hooks的力量

树上有只程序猿

Hooks React Hooks

数电票如何管理?

用友BIP

数电票

外贸独立站谷歌seo优化的8大技巧

九凌网络

对话在行人|合众思壮:基于用友BIP重塑业务应用,推进业财融合

用友BIP

对话在行人 数智化领先实践

11 月 11日,MatrixOne 社区邀请您来深圳办公室坐坐

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

NFT数字藏品(交易平台)系统开发

西安链酷科技

数字货币 dapp 去中心化 钱包系统开发 交易所

合成数据对于机器学习模型至关重要

3D建模设计

人工智能 合成数据 虚幻合成数据

昇腾迁移丨4个TensorFlow模型训练案例解读

华为云开发者联盟

人工智能 华为云 昇腾 华为云开发者联盟

调用API接口获取淘宝店铺所有商品:详细指南与代码实践

Noah

Macs Fan Control Pro for mac(电脑风扇控制软件) v1.5.16永久激活版

mac

电脑风扇控制软件 苹果mac Windows软件 Macs Fan Control

fcpx视频剪辑 Final Cut Pro中文破解版下载

影影绰绰一往直前

Final Cut Pro下载 Final Cut Pro中文版 Final Cut Pro破解版

合成数据的被需要的5 个重要原因

3D建模设计

人工智能 合成数据 虚幻合成数据

最新苹果系统 macOS 14 Sonoma 14.1正式版

iMac小白

MacOS 14 macOS Sonoma MacOS14系统

人才驱动:水泥建材企业如何实现智能化人才管理

用友BIP

人才发展

如何成为前1%的程序员

互联网工科生

程序员 提升自我

华为云云容器引擎CCE产品文档带来4个升级,降低使用难度

华为云开发者联盟

云原生 华为云 华为云开发者联盟 华为云CCE容器服

Dapp开发流程以及应用

西安链酷科技

软件开发 dapp 去中心化 安全性

国内首个电力物联操作系统正式发布,实现电力设备万物互联、海量数据互通共享

开放原子开源基金会

开源

信息系统建设和企业税务管理的结合

用友BIP

税务管理

DAPP 燃烧铸币质押挖矿系统开发

l8l259l3365

交易所钱包系统开发

西安链酷科技

数字货币 dapp 交易所

Video Copilot Element 3D for Mac(AE三维模型插件)激活版

影影绰绰一往直前

Element 3D 下载 Element 3D 破解版 Element 3D mac

企业制作网站时为何香港云服务器成为首选?

一只扑棱蛾子

香港云服务器

腾讯云入选 2023Gartner分布式混合基础设施魔力象限

ToB行业头条

用友携手平安银行,加速数智化司库及财资体系建设

用友BIP

全球司库

如何在HarmonyOS对数据库进行备份,恢复与加密

HarmonyOS开发者

HarmonyOS

2023云栖大会龙蜥操作系统专场成功举办

开放原子开源基金会

开源 云栖大会

医共体建设进入高峰期 区域医疗平台运营管理如何破局

用友BIP

医疗平台运营

AI系列产品来袭,用友招聘云换新上线

用友BIP

AI 招聘

JVM动态语言比武_Java_Charles Humble_InfoQ精选文章