【问题标题】:Uses of Jython while programming编程时使用 Jython
【发布时间】:2010-08-28 14:53:07
【问题描述】:

我最近开始学习 Python,遇到了 Jython 这个词。 从谷歌搜索结果中,我得出结论,它确实是一个非常重要的术语。 使用 Jython 进行编程/编码的体验如何?

【问题讨论】:

    标签: python jython


    【解决方案1】:

    Jython 只是在 JVM(Java 虚拟机)上运行的 Python 解释器的一个实现。

    什么是 JPython?

    JPython 是 Python编程语言是 设计为在 Java(tm) 上运行 平台。它由一个编译器组成 将 Python 源代码编译为 可以直接运行的Java字节码 在 JVM 上,一组支持库 被编译的Java使用 字节码,以及额外的支持 使用来自的 Java 包很简单 在 JPython 中。 JPython 已经 被 Jython 重命名和取代。

    所以在 Jython 中编码与在 Python 中编码基本相同;具有访问 Java 库的优势。

    阅读:Jython FAQWhy Jython?

    【讨论】:

      【解决方案2】:

      这不仅仅是访问 Java 库的优势。它还能够在 Java VM 上运行,并获得所有支持和优化(即 JIT 编译)。

      Jython 对于编写 Java 应用程序的脚本也非常有用。

      IronPython 是 .NET CLI 的类似方法

      【讨论】:

        【解决方案3】:

        我对您的建议:忘记 Jython 和 IronPython。除了初学者和他们的开发人员之外,没有人使用它们。至于 Jython,它比 Python(又名 CPython)慢得多、健壮性差、可靠性差。它没有大量来自 Python 的“电池”。此外,线程、进程和其他较低级别的内部工作方式不同,从而导致细微且难以调试的错误。

        【讨论】:

        • -1 “至于 Jython,它比 Python(又名 CPython)慢得多、健壮性差、可靠性差得多” 这充其量是荒谬和轶事。 Jython 比 CPython 慢已经有好几年了。 Jython 至少与 CPython 一样快,甚至比 CPython 快。
        • -1,我经常使用一个大型 Java 应用程序,该应用程序使用 Jython 允许在 Python 中为该应用程序编写脚本。嵌入部分是 Jython 的一大优势。而对于“电池”,您不会获得 Python 库,而是获得 Java 库。
        • @Fabian NO. Jython 在 JVM 上运行,其特定版本又在 CPU 上运行,而 CPython,在特定 CPU 架构上编译的机器代码,在没有 JVM 的 CPU 上运行。这就是最大的不同。由于 CPython“解释”python 代码或 pyton 字节码,因此执行变得比 C 慢。但它几乎总是比 Jython 快。明白了吗?
        • 查看基准here。请注意,他们已经一岁了,现在 Jython 可能要好得多。 JRuby 也发生了同样的事情:它曾经比原生 Ruby 慢,现在它更快了。 JVM pwns C. 相关:How can JVM implementations like Jython and JRuby beat their native counterparts?
        • 这里具有讽刺意味的是,在支持/反对 Jython 方面花费了如此多的精力,而实际上所有需要说的是学习 Python 就是学习 Jython。一旦您学会了底层语言,使用 Jython(使用 java)甚至 IronPython(使用 .Net)只是一个相对较小的步骤。与上述其他评论者一样,我在一个开发大型 Java 应用程序的团队中,该应用程序带有嵌入式 Jython 解释器,我希望我在开发大型 C# 应用程序时了解 IronPython,其中嵌入式加密语言将是无价的。课程都是马的问题。
        猜你喜欢
        • 2012-07-08
        • 1970-01-01
        • 2012-06-22
        • 2015-06-30
        • 2021-05-30
        • 1970-01-01
        • 2014-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多