Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最">有趣的事情是Jython不像CPython或其他任何高级语言,它提供了对其实现语言的一切存取。所以Jython不仅给你提供了Python的库,同时也提供了所有的Java类。这使其有一个巨大的资源库。
计算编程语言的效率是一个很广泛的课题,它要考虑程序员的时间、总体复杂性、代码的行数、可用性、可维护性和运行效率。当然很多人不同意赋予这些变量的权重,经常是在不同的情况下偏重有所不同。然而本书的前提是Jython除运行时的效率外,其他方面都超过其他语言。Jython的运行速度是可以与其他高级语言相比的,但速度并不是高级语言的目标和特点。区别在于当加速一个需要的应用时,将Jython代码翻译成Java更有效,这是由于Jython与Java的无缝集成性。另外对所有有效的Jaya类的直接访问增加了改进已存在的类的可能性。
动态类型
在Jython中你不必像在Java中那样声明类型,因为类型是在运行时决定的。Jython的列表和映射类型是高级的多态的Java类的实例。多态意味着对象能对不同的数据类型工作。例如Jython的list类型可以是一个数字的序列、字符串的序列、字符的序列或它们的组合。动态和多态性的列是对编程的极大的贡献,从很多已放弃显式的静态类型定义的高级语言中可看出它减少了代码的行数,降低了复杂性,提高了程序的效率。
内省和动态执行
Jython有一些允许方便的对象内省和代码的动态执行的内部函数。内省是发现一个对象信息的能力,而动态执行是执行在运行时产生的代码的能力。该功能很大程度上减少了代码的行数并增加了程序的可靠性,使其更加方便维护。这也能使数据和程序结构或逻辑更好的集成而不影响重用性,因为所有的东西都是在运行时决定的。
Jython是Python的纯Java实现。她无缝地结合了Java类与Python,使用户能以Python语言的语法编写在Java虚拟机上运行的 软件。它的特点有:与相似的Java程序相比,Jython极大的的减少了编程代码量。Jython同时拥有解释器和编译器,使其无需编译就可以测试程序 代码。
Jython 2.5.2新特点:
·The socket module now includes ipv6 support
·The socket module now also includes Internationalized Domain Names (RFC 3490) support on Java 6
·Performance improvements around method invocation. 2.5.2 runs the richards benchmark 3x faster and the pystone benchmark 20% faster than 2.5.1
·The posix/nt module was rewritten in Java and the performance of its often performance-critical stat function has significantly improved
·Improved OSError errno messages on Windows
·Slightly improved startup time (ongoing Issue #1380)
·Better readline module emulation (required for IPython support)
·Python functions can be directly passed to Java methods that take a single method interface (such as Callable or Runnable)
·Add google indexer (by Yin Wang and 820.html">Steve Yegge)
下载地址:
http://sourceforge.net/projects/jython/files/jython/2.5.2/jython_installer-2.5.2.jar/download
MD5: 7c7d9abd8985df480edeacd27ed9dcd5
SHA1: d4534a691edf40aa1d51723dfe3e22db1e39b432