Python 还提供一个交互式解释器,这意味着您可以坐在解释器提示,导入 Java 代码,创建 Java 类实例,进行方法调用等等,所有这些都是交互式的。这在训练程序员如何使用公司 Java 库或者试验新 Java API 时是一种绝佳工具。
但以我拙见,所有程序员都应该备有 CPython 和 JPython。
Mertz :照您看,JPython 比 CPython 好在哪里呢?
Bock :JPython 提供了对其底层实现语言的完整访问。在大多数(可能所有)基于 C 的脚本语言中,C 函数必须封装在用来将 C 函数暴露给脚本语言的一层简单的代码中,这里存在一些好的工具,例如 SWIG,来将这个封装器代码的创建自动化。但 JPython 根本就不需要封装器。所有曾经编写过的 Java 代码都可直接从 JPython 使用,集成是双向的。以 JPython 定义的类和实例可以传递给 Java,就如同它们是一般的 Java 类和实例那样(它们也确实如此)。
嵌入/扩展 API 使从应用程序或模块中对 JPython 对象的访问相当精确。这一优点部分来自于 JPython 和 Java 都是面向对象的语言这一事实。Jim 利用了该事实的这一重要优点。
Warsaw :CPython 欠缺的是对世界上大量 Java 代码的访问。如果需要使用 Java 库,JPython 就是答案。反过来说,当然,JPython 也没有对世界上所有现有 C 库的简易访问。Finn 已完成了通过 JNI 集成如 Tkinter 和 POSIX 模块这类事物的工作,但那些在 JPython 中总是非标准的,因为我们希望保留 100% 纯 Java 认证。
Mertz:依您所见,JPython 的缺点有哪些呢?
Finn Bock :JPython 只提供对 Java 代码的访问,而不提供对所有现有 C 模块的访问。因此每个以 C 实现的 Python 模块都必须用 Java 重新实现。而 CPython 则有许多模块。
另外,对于嵌入/扩展 API,除了源代码之外没有任何文档。
Mertz :您是否在寻找 JPython 优于纯 Java 的优点?
Warsaw :我想我们已经谈了许多这方面的内容。但现在让我们谈谈 JPython 的性能问题。因为 JPython 实现了 Python 的动态语义,所有 JPython 带有相当广泛的运行时。这对于某些应用程序有性能影响。例如即时编译器和 Hotspot 技术这样的标准 Java 优化可以大大减轻这样影响(八个月前的基准显示,使用支持 JIT 的 JVM,JPython 1.1 可以达到,有时还会超过 CPython 1.5.2 速度)。我们将更新这些基准结果,并在推出 JPython 之后集中在性能问题上。
但与 CPython 一样,您总能用 Java 重写应用程序中的性能关键部分。
收藏地址:http://www.qqread.com/dotnet/j350691.html相关专题
- Python实用指南 (220篇文章)
- .NET移动与嵌入式技术 (5974篇文章)
- .NET开发手册 (5673篇文章)
- Python相关文章 (220篇文章)
- Python编程 (220篇文章)
- WPF的Attached属性 (0次浏览)
- WPF,将颠覆的设计世界? (0次浏览)
- Windows是否已经变成了一个怪物? (0次浏览)
- Windows2008用RODC保证分支机构安全 (0次浏览)
- Windows2008的NLB配置攻略 (0次浏览)
- Windows SharePoint Services 和 SharePoint P (0次浏览)
- Windows Forms中实现统一的数据验证(一) (0次浏览)
- Windows API一日一练:DrawText函数 (0次浏览)
- Win2008初次体验的几个心得 (0次浏览)
- WEB应用数据库访问的优化 (0次浏览)



