BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

JVM上的Python现状

| 作者 Craig Wickesser 关注 0 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年10月10日. 估计阅读时间: 6 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

在过去的几年间有大量编程语言被“移植”到了Java虚拟机上,更有甚者单独为JVM创建了为数众多的语言。这包括Ruby(JRuby)、JavaScript(Rhino)、Groovy以及Python(Jython)。特别是Python在JVM上得到了蓬勃的发展,这都得益于最近Jython的前进势头。

Jython是Python编程语言的一种实现,运行在JVM上。它拥有超过10年的历史,然而大多数时间还是处于停滞不前的状态。最近,Jython领域变得活跃起来,这也带动了Python在JVM上的发展。近日InfoQ有幸采访了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原型以利用该工作的成果。

除了在Jython编程语言上所进行的诸多工作外,围绕着该语言还涌现了大量的资源,包括关于该语言的新书、关于使用Jython管理WebSphere的图书、一本在线图书、PyCon上的播客、访谈以及教程等等。要想学习Jython,请点击以上链接或是访问Jython主页,那里有关于JVM上Python的所有信息。

查看英文原文:State of Python on the JVM

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

既然有了CPython,那干嘛还要Jython by lu yun

CPython已经够灵活了

Re: 既然有了CPython,那干嘛还要Jython by yin alec

为了使用java平台上的库啊

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT