python 解释器 用来生成代码

pypy

http://pypy.org/

 

PyPy 是: 
1. 使用 Python 语言编写的 Python 语言 (称作 rpython). 
2. 可以将 python 程序编译成原生的 C, CLI (.NET 2.0), javascript 或其他语言运行程序,提高运行速度. 
3. 可以把 rpython 编译成 javascript , 用来产生客户端 javascript/编写 ajax 应用. 
4. 可以将 rpython 程式码流程展示成视图. 
5. 可以透过 JIT 产生自订版本的编译器. 

pypy 分为两部分: 
1. python 的实现. 
2.一个编译器. 

pypy 这名字说的就是这第一部分,用python实现的python. 
但其实这么说并不准确,准确得说应该是用 rpython 实现的 python,rpython 是 python 的一个子集,不过不要搞混了,虽然 rpython 不是完整的 python,但用 rpython 写的这个 python 实现却是可以解释完整的 python 语言. 
那为什么要用 rpython 来写这个 python 实现呢,这其实就涉及到了 pypy 的第二部分:编译器. 
这是一个编译 rpython 的编译器,或者说这个编译器有一个 rpython 的前端,目前也只有这么一个前端,不过它的后端却是不少,也就是说这个编译器支持许多的目标语言,比较重要的有:c, cli, javascript ... 
而当我们把这两部分合起来看的时候,就能够发现 pypy 最重大的意义所在,当我们用这个编译器来编译这个用 rpython 写的 python 实现,我们能够得到什么呢?一个 c 写的 python 实现,一个用 .net 写的 python 实现(不过目前的 cli 后端还不能用来编译这个 python 实现) ... 

如果说C语言写的程序最快,pypy 可以将程式码自动转成 C 版程序. 用 gcc 编译后仅慢原生 C 程序 10~20%. 
如果说.Net跨平台, pypy可以将程式码自动转成 .Net 版程序,编译后比 M$ 上的 .Net 平台 IronPython 快 100 倍. 
还有就是写好的程式可以透过 pypy 自动帮你画流程图. 
最强大的还是 pypy 是使用 Python 语言编写的 Python 语言, 可透过转译器编译成各平台运行程式以取得超过 cpython 的效能. 
各种语言转译器(translator) 也可以用 rpython 本身撰写. 以后 rpython 语言开发者不用是 C 语言专家也可以参与改进 Python 语言, 与其他语言相比加入各种实验性新特性的难度简单了好几个数量级. 
用 pypy 目前已经可以产生 JavaScript 程式码, 来支援 AJAX 开发. 
可能以后也能生产 ActionScript程序, 支援 Flash/Flex/Appolo的开发.

 

 

 

cpython

生成C代码

 

posted @   scott_h  阅读(303)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示