对Python 编程语言进行入门之谈

开发 后端
作为比C语言更容易入手的语言,Python 编程语言提供了更好的机制来增强程序的安全性,Python 编程语言具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这点大大的帮助了开发人员。

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 认证。

责任编辑:chenqingxiang 来源: 驱动之家
相关推荐

2010-02-22 09:43:42

学习Python语言

2010-02-02 18:20:43

Python编写

2010-03-01 09:43:09

Python编程语言

2010-02-02 14:11:14

Python 进行编程

2010-02-23 14:55:00

Python动态语言

2010-02-26 10:07:55

Python编程语言

2010-02-24 09:39:25

Python交互式

2010-03-01 14:02:26

Python批处理语言

2010-03-15 15:45:15

Python编程语言

2010-03-17 16:50:51

2010-02-02 16:07:17

Python开发人员

2010-02-05 15:47:00

Android JDK

2010-02-24 17:13:47

2010-09-14 13:22:17

Scala编程指南Scala

2010-01-18 16:27:26

C++语言

2010-03-11 17:24:27

Python编程语言

2010-01-21 18:00:59

C++语言

2010-03-02 14:37:05

Android开源语言

2023-09-17 23:01:39

Python编程语言

2009-11-02 15:16:07

VB.NET编程
点赞
收藏

51CTO技术栈公众号