Jython的发展之道:性能,性能,性能!

开发 后端
在移植到JVM上的语言中,Jython是比较主要的一支。鉴于JVM在企业级开发的影响,Jython对于推动Python在企业级开发中的应用有着重要的地位。本文是Jython项目领导的一次访谈,讨论了Jython的一些现状。

Java做为一门编程语言正在老去,但Java平台却生命力越来越旺盛。事实上由于企业级开发对JVM的依赖与信任,很多语言都视JVM为走向企业级开发的重要步骤之一。在过去的几年间有大量编程语言被“移植”到了Java虚拟机上,更有甚者单独为JVM创建了为数众多的语言。这包括Ruby(JRuby)、JavaScript(Rhino)、Groovy以及Python(Jython)。特别是Python在JVM上得到了蓬勃的发展,这都得益于最近Jython的前进势头。

Jython是Python编程语言的一种实现,运行在JVM上。它拥有超过10年的历史,然而大多数时间还是处于停滞不前的状态。最近,Jython领域变得活跃起来,这也带动了Python在JVM上的发展。近日InfoQ的Craig Wickesser采访了Jython的项目领导Frank Wierzbicki以了解Jython的当前状况以及JVM上的Python现状。

过去一年多的时间里,Jython开始变得繁荣起来,你是怎么看待这一点的?

我认为Jython 2.5(该版本的Jython对CPython的兼容性是最好的)实在是功不可没。我们现在拥有的Python应用和框架的数量都是前所未有的。比如说Django、Pylons以及Py2Web等等,SQLAlchemy 0.6很快也会与Jython协同工作了;除此以外,Twisted、TurboGears以及Grok上的工作也都在有条不紊地进行当中。所有这些都能访问Java程序库,就好像访问本地Python一样。

Sun Microsystems在Jython开发中扮演着什么角色?

Sun允许我全职负责Jython开发。我也对NetBeans团队做出了不少贡献,使得Python和Jython成为NetBeans IDE上的一等公民,而且还使得Jython、Django以及Pylons能与GlassFish协同工作。当然了,这些团队也为Jython的开发做出了卓越的贡献。

Jython 2.5最重要的变化是什么?

Jython 2.5的关注点在于让Jython成为现代化、兼容于CPython、卓越的Python实现。我们使劲浑身解数让尽可能多的纯Python框架和应用能够正常运行,但却没有把太多精力放在性能调优上,这是接下来要做的事情,换句话说,我们要使Jython的性能与CPython有一拼。

Jython 2.6的路线图如何?

我们现在将大部分精力都放在了性能上,同时还在不断增加新的特性。比如,我们计划改进与Java程序库的集成,尤其是需要替换掉Jython 2.2.x中一个名为“jythonc”的工具,该工具使得我们可以方便地实现某些Java集成并将结果打包为jar(一种Java分发格式)。由于内部设计的原因,jythonc还无法支持某些新的Python特性。我们确信还会有越来越多的应用和框架将运行在Jython上。我们期待这一天的到来:一旦应用无法运行在Jython上,那将是应用本身的bug而绝非Jython的问题。

还会有Jython3k么?

当然了!3.0是Python的未来,也是Jython的未来。坦白地说,我们还没有开始Jython3k的开发工作,但我希望一旦2.6发布后我们将会认真考虑这个问题。之所以等待2.6的发布是因为用于将Python 2移植到Python 3上的工具需要2.6作为起始点。

你认为会有人用Jython开发企业应用么?

我听说有人已经将包含Pylons或Django的WAR文件放到了产品中,还听说某些网上商店发现Jython与JDBC的集成在某些情况下要比CPython的数据访问更棒。Jython 2.5是个现代化的Python,在很多情况下都是非常不错的选择。

我不知道一般人是否了解Jython的历史——其首个版本发布于1998年7月。那时除了Java,Jython就是JVM上功能特性最全面的编程语言了。因此企业实际上已经使用Jython很长时间了。比如IBM WebSphere和Oracle WebLogic就使用Jython作为管理脚本语言。

你如何看待JVM上的Python现状?

对于JVM上的Python来说现在的一切都是非常美好的。由John Rose领导的Da Vinci Machine项目正致力于让JVM成为动态语言的最佳归宿。这项工作现在也已经融合到JDK 7中了,一旦我们可以利用这项工作的成果那Jython的执行效率就将得到极大的改进。目前我正在编写一个Jython原型以利用该工作的成果。

【编辑推荐】

  1. 基于JVM的语言正在开始流行
  2. Jython 2.5.1最终版发布
  3. Jython 2.5版本发布历程
  4. Python和Jython的区别简述
  5. Jython的安装步骤(Jython2.1)
责任编辑:yangsai 来源: InfoQ
相关推荐

2009-07-17 13:45:39

Jython性能测评

2009-07-14 17:58:55

Jython性能

2009-07-14 18:45:26

Jython开发特性

2024-12-04 10:58:57

TomcatJetty高并发

2020-08-18 13:50:04

Tomcat高并发Java

2020-12-07 15:16:04

排序算法

2021-05-12 06:02:56

性能优化工具WebPageTest

2021-05-10 08:08:25

工具LightHouse性能优化

2022-02-16 07:13:21

性能工程性能规划

2013-12-02 13:19:42

RiverbedSDNSDDC

2020-09-03 14:30:40

Tomcat 拆解调优

2015-08-18 11:44:02

PHP性能分析宏观分析

2021-12-29 10:30:15

JMH代码Java

2015-09-14 10:41:51

PHP性能分析微观分析

2024-09-06 07:55:42

2018-07-06 11:18:46

HBaseHFile数据库

2021-10-25 10:23:49

Webpack 前端Tree shakin

2019-03-01 11:03:22

Lustre高性能计算

2010-12-23 17:45:54

x86浪潮山东大学

2022-09-14 22:58:58

Push 推荐Java 开发vivo
点赞
收藏

51CTO技术栈公众号