NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

JVM 上的 Python 现状

  • 2009-10-09
  • 本文字数:1690 字

    阅读完需:约 6 分钟

在过去的几年间有大量编程语言被“移植”到了 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

2009-10-09 01:313382
用户头像

发布了 88 篇内容, 共 258.6 次阅读, 收获喜欢 8 次。

关注

评论

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

如何发现更多比特币大户钱包地址?以bitget 钱包为例

威廉META

acdsee看图软件下载 ACDSee Photo Studio中文破解版 v9.3.2859 Mac版

晴雯哥

什么是特权账号?

尚思卓越

网络安全 数据安全 特权账号管理 PAM

AI见证每一跳的闪耀!百度成为中国国家跳水队人工智能合作伙伴

飞桨PaddlePaddle

人工智能 百度

MySQL常用图形管理工具

小齐写代码

Final cut pro最新版本 fcpx视频剪辑软件 v10.6.10 中文破解版下载

晴雯哥

初探亚马逊 AI 编程助手 CodeWhisperer

亚马逊云科技 (Amazon Web Services)

人工智能’ 云上探索实验室 Amazon CodeWhisperer

苹果mac清理垃圾软件哪个好 App Cleaner & Uninstaller v8.2.3 破解版下载

晴雯哥

新华网专访王文京:“数据驱动 智能运营”是企业数智化的全新阶段

用友BIP

数据驱动

硬件信息查看软件 EtreCheckpro免激活最新版

胖墩儿不胖y

Mac软件 系统维护软件

优测云测试平台 | 有效的单元测试

优测云服务平台

测试 单元测试 云平台 测试开发

ARTS-WEEK10(23.10.16-23.10.22)

EchoZhou

全网最详细4W字Flink全面解析与实践(上)

Java随想录

Java 大数据 flink

昇腾CANN 7.0 黑科技:大模型训练性能优化之道

华为云开发者联盟

人工智能 华为云 大模型 昇腾CANN 华为云开发者联盟

如何发现更多比特币大户钱包地址?以bitget 钱包为例

鳄鱼视界

Linux的挂载介绍

智趣匠

selenium基础语法详解。

百度搜索:蓝易云

Java Python Web API selenium

掌握 Kubernetes 故障排除:有效维护集群的最佳实践和工具

SEAL安全

集群 故障排除 kubernetes 运维 企业号10月PK榜

我和极客时间的故事

i查拉图斯特拉如是说

我和极客时间的故事

大模型的幻觉 (Hallucination) 因何而来?如何解决幻觉问题?

Baihai IDP

人工智能 AI 大模型 白海科技 大模型幻觉

你真的了解你的团队吗? ONA告诉你真相

用友BIP

人才发展

从基础到实践,回顾Elasticsearch 向量检索发展史

华为云开发者联盟

人工智能 深度学习 华为云 华为云开发者联盟

用Python实现微信多开,1行代码免费用

程序员晚枫

Python 微信

用友x德勤 | 引领全球化潮流,用友与德勤携手助力中企出海

用友BIP

简单好用的图片查看软件:EdgeView 4中文激活最新版

mac大玩家j

Mac软件 图片查看器 图片查看软件

东莞理工网安学院“火焰杯”软件测试高校就业选拔赛颁奖典礼

测试人

软件测试

Spring Boot是什么?它的优点是什么?

百度搜索:蓝易云

云计算 spring Linux 运维 Spring Boot

Programming abstractions in C阅读笔记:p181-p183

codists

Zebec Protocol 薪酬支付工具 WageLink 上线,掀新一轮薪酬支付浪潮

西柚子

JVM上的Python现状_Java_Craig Wickesser_InfoQ精选文章