对Python 编程语言进行入门之谈
创始人
2024-06-23 09:20:18
0

Python 编程语言是一个真正面向对象语言的成果,但 Barry Warsaw 和 Finn Bock 是当前两名最活跃的 JPython 开发者。不幸的是,JPython 最初的开发者 Jim Hugunin 不再从事其开发了。

David Mertz:究竟什么是 JPython?Barry Warsaw:我将用标准的营销说法来回答这个问题。JPythonPython 编程语言的 100% 纯 Java 实现。它可以让用户将 Python 源代码编译成 Java 字节码,并在任何 Java 虚拟机上运行产生的字节码。它是与 Java 的最无缝最平滑的集成。

您可以从 Python 访问所有 Java 库、构建 Applet、与 Java Bean 集成以及从 Python 中的 Java 类创建子类,反之亦然。JPython 类似于 Python 而不象 Java,它可以交互使用;只需在提示上输入一些 JPython 代码就能立刻看到结果。

用更简单的话来说,JPython 可以为任何一个您需要的 Java 代码编写脚本,这样转换出的代码行数比原来要少上 2 到 10 倍。因为 Python 是动态输入的语言,所以可以更快速地开发错误更少的应用,并得到灵活得多的程序。

Mertz:有关 JPython 的开发是如何开始的呢?Warsaw :Python 编程语言是由 Jim Hugunin 发明的,他现在为 Xerox PARC 的 Aspect Oriented Programming 项目工作。我了解 Jim,他可能主要是对挑战感兴趣。Python 领域中有许多人都认为这是不可实现的。Guido 自己就是一个怀疑论者。Jim 证明他们都错了!

那么既然遇到挑战,为什么还要继续开发 JPython 呢?因为它是大多数 Java 程序员不太了解的最有价值的 Java 工具。到目前为止!Mertz:您认为是什么刺激了 JPython 的需求?Warsaw :首先必须理解 JPython 不是 Java 的竞争对手;而是对它的最好补充。Java 是静态输入的编译语言。

这确保了库的输入很安全并且执行速度更快。有一个现象很有趣,就是尽管它是字节码翻译的,但大多数人还是将 Java 看作一个传统的“编写-编译-运行-编辑”的程序。当然。

Java 利用了软件世界的绝大部分,因此对于 Java 程序员有许多资源可用。但相同的静态输入和传统的编程周期在人力资源方面增加了 Java 应用开发的成本。Python 在这方面绝对胜出。

因为 Python 是一种小而简单的语言,所以非常易于掌握。大多数有经验的程序员可以在大约一天的时间内就学习到足够的 Python 知识来提高生产力。Python 的设计思想就是代码的读比写要多得多。因此 Python 源代码易于在大型团体项目中共享。

但更重要的是,Python 是非常高级的动态输入型语言。这表现在大大节约了执行任务所需的代码数量。因为使用 Python 所写的代码行数较少,可以写得更快,错误更少。对于快速应用开发这简直太棒了。

Python 还提供一个交互式解释器,这意味着您可以坐在解释器提示,导入 Java 代码,创建 Java 类实例,进行方法调用等等,所有这些都是交互式的。这在训练程序员如何使用公司 Java 库或者试验新 Java API 时是一种绝佳工具。但以我拙见,所有程序员都应该备有 CPython 和 JPython

Mertz :照您看,JPythonPython 编程语言好在哪里呢?Bock :JPython 提供了对其底层实现语言的完整访问。在大多数(可能所有)基于 C 的脚本语言中,C 函数必须封装在用来将 C 函数暴露给脚本语言的一层简单的代码中。

这里存在一些好的工具,例如 SWIG,来将这个封装器代码的创建自动化。但 JPython 根本就不需要封装器。所有曾经编写过的 Java 代码都可直接从 JPython 使用,集成是双向的。#t#

以 JPython 定义的类和实例可以传递给 Java,就如同它们是一般的 Java 类和实例那样(它们也确实如此)。
嵌入/扩展 API 使从应用程序或模块中对 JPython 对象的访问相当精确。

这一优点部分来自于 JPython 和 Java 都是面向对象的语言这一事实。Jim 利用了该事实的这一重要优点。
Warsaw :CPython 欠缺的是对世界上大量 Java 代码的访问。

如果需要使用 Java 库,JPython 就是答案。反过来说,当然,JPython 也没有对世界上所有现有 C 库的简易访问。Finn 已完成了通过 JNI 集成如 Tkinter 和 POSIX 模块这类事物的工作,但那些在 JPython 中总是非标准的,因为我们希望保留 100% 纯 Java 认证。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...