编程语言具有类似python的语法,但是本机代码生成

时间:2009-07-21 04:38:19

标签: programming-languages syntax

任何人都可以指向具有类似python语法的编程语言,但从一开始就设计用于生成本机代码吗?我只知道Boo,但它使用.net,而不是本机代码生成。好吧,如果没有什么比生成.net / java字节码的类似python的语言也好。

12 个答案:

答案 0 :(得分:13)

Cython可能会这样做 - 它生成的C代码是针对Python扩展的,但整个事情都可以打包,你将在整个过程中运行本机代码(在'import'之后; - )。< / p>

答案 1 :(得分:11)

我必须承认我不太明白你的问题,原因有两个:

  1. 您要求使用本机代码生成语言,但本机代码生成与语言无关,它是实现的特征。 每种语言都可以使用本机代码生成实现。一些Python实现具有本机代码生成。有C编译器可以编译为JVM字节码,CIL字节码甚至ECMAScript源代码。甚至还有C 口译员。还有编译器将Java源代码或JVM字节码编译为本机代码。

  2. 你为什么关心语法?这可能是选择编程语言最不重要的因素。

  3. 无论如何,Nimrod是一种编程语言,它具有支持本机代码生成的实现(或者更确切地说是支持C源代码生成的实现),其语法是Wirthian风格的混合(通过外观它最重要的影响是Oberon和Delphi)和Python。

    然而,如果你不喜欢欧洲风格的语言设计或Wirthian风格的OOP,那么它具有Pythonic语法的事实根本不会对你有所帮助。

答案 2 :(得分:7)

今天也发现Delight在D后端应用Python语法。

还有Converge

答案 3 :(得分:7)

查看Cobra

受Python,C#,Eiffel,Objective-C和其他编程语言的影响很大。它支持静态和动态类型。它拥有对单元测试和合同的一流支持。 Cobra以同一种语言提供快速开发和性能。

答案 4 :(得分:6)

shedskin将Python编译为C ++

来自shedskin项目页面

  

Shed Skin是一个实验编译器,   这可以翻译纯,但   隐式静态类型的Python   程序转换为优化的C ++。它可以   生成独立的程序或   可导入的扩展模块   并用于较大的Python程序。

答案 5 :(得分:4)

Genie是gnome项目的一部分:http://live.gnome.org/Genie

我认为这正是你所寻找的。

答案 6 :(得分:3)

如果您对编译为Java字节码的内容感到满意,可以查看Jython。引用他们的FAQ

  

JPython是Python编程语言的一种实现,旨在在Java(tm)平台上运行。它包含一个编译器,用于将Python源代码编译为可直接在JVM上运行的Java字节码,一组由编译的Java字节码使用的支持库,以及额外的支持,使得在JPython中使用Java包变得微不足道

我还没有真正使用它,但我正在考虑将其与现有的Java代码库集成的一些项目。

HTH

答案 7 :(得分:3)

PyPy是一个用Python重新实现Python的项目。其中一个目标是允许使用多个后端,包括C.因此,您可以使用纯Python程序,将其转换为C并将其编译为本机代码。它仍在进行中,因此可能不适合生产代码。

答案 8 :(得分:2)

您可以在此处找到所有前面提到的语言,以及其他语言:http://wiki.python.org/moin/PythonImplementations

答案 9 :(得分:1)

您还可以调查IronPython - .NET框架上的python inplementation

答案 10 :(得分:0)

Nim 是一种静态类型编译的系统编程语言。它结合了 Python、Ada 和 Modula 等成熟语言的成功概念。

https://nim-lang.org/

答案 11 :(得分:0)

你可以试试Genie。它与 Vala 相同,但具有类似 Python 的语法。如果您想使用 GTK 为 Linux 开发应用程序,并且您想将其编译为原生应用程序,那么 Vala 或 Genie 是非常好的选择。