任何人都可以指向具有类似python语法的编程语言,但从一开始就设计用于生成本机代码吗?我只知道Boo,但它使用.net,而不是本机代码生成。好吧,如果没有什么比生成.net / java字节码的类似python的语言也好。
答案 0 :(得分:13)
Cython可能会这样做 - 它生成的C代码是针对Python扩展的,但整个事情都可以打包,你将在整个过程中运行本机代码(在'import'之后; - )。< / p>
答案 1 :(得分:11)
我必须承认我不太明白你的问题,原因有两个:
您要求使用本机代码生成语言,但本机代码生成与语言无关,它是实现的特征。 每种语言都可以使用本机代码生成实现。一些Python实现具有本机代码生成。有C编译器可以编译为JVM字节码,CIL字节码甚至ECMAScript源代码。甚至还有C 口译员。还有编译器将Java源代码或JVM字节码编译为本机代码。
你为什么关心语法?这可能是选择编程语言最不重要的因素。
无论如何,Nimrod是一种编程语言,它具有支持本机代码生成的实现(或者更确切地说是支持C源代码生成的实现),其语法是Wirthian风格的混合(通过外观它最重要的影响是Oberon和Delphi)和Python。
然而,如果你不喜欢欧洲风格的语言设计或Wirthian风格的OOP,那么它具有Pythonic语法的事实根本不会对你有所帮助。
答案 2 :(得分:7)
答案 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
我认为这正是你所寻找的。 p>
答案 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 等成熟语言的成功概念。
答案 11 :(得分:0)