这是我的 Python to Go 项目的第二个测试样例。
This is a test sample for my 'Python to Go' project
下载地址:
http://pan.baidu.com/s/1pJFf3kR
这里选择网上找到的一个只有几十行的俄罗斯方块Python源码作为测试样例。它使用了 PyGame 库。
使用我的 Python to Go 转化为 Go 源码,编译为 EXE 文件,可以正常运行。
这次的运行平台选 Win8 64bit.
请开一个命令行窗口,进入目录 bin,运行 runme.bat
关于 Python to Go 的几个问题:
*支持所有的 Python 程序?还是只支持部分语法?
我试图支持所有的 Python2 语法(暂不支持Python3)。特别支持把 Python 的内置库转为 Go,
支持所有的pyd格式第三方库。
*转化后,运动速度会自动提升吗?
会的!我做了一些智能数据类型识别,对 int, float, string 类型自动用 Go 运算。即使对不能
自动识别的情况,借用 Go 的 reflect 机制,也尽量自动运算,避免进入 PyObject 层。
再次论述 Python to Go 的意义:
比如这个小游戏,用 Python 写只需要几十行代码,使用了 PyGame 库。你用 Go 做一个试试?
Go 下你可能找不到好用的库,根本找不到解决方案。从不可能到可能,这还不够吗?
在所有编程语言中,Python 的库是最丰富的。这也说明了大家对 Python 的喜爱程度。但 Python
的不可编译大大限制了 Python 的应用范围。现在有了 Python to Go,你可以在 Go 语言中自由
使用数百个 Python 开源库,这让古老的 Python 焕发了青春,也让新生的 Go 语言更加强大!
我认为,一门优秀的编程语言应该是两段式的。开发的时候,类似Python无限地动态特性,不对程
序员作任何限制,自由表达。等程序可以正常运行后,再自动或半自动,或手动地对代码加一些限
制,减少一些没有用到的动态特性,使可编译,运行速度快。遗憾的是,这种新一代的编程语言还
没有出现。无数的新语言还都在动态和速度间纠结。
Python to Go 可以理解为是对 Python 语言的第二个实现。原来的唯一完整实现是CPython的解释
式执行。现在我给出的第二个实现,是借用 Go 语言做到了编译运行。能掌握一套编程语言的完整
实现,是一件让人激动的事情。稍加改动,就可以定义一门新的开发语言。
用 Python 开发,用 Go 编译,这种新的开发模式有兴趣吗?联系我
刘涛涛 9870365@qq.com
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!