12
返回列表 发新帖
楼主: jieforest

为什么有这么多Python?

[复制链接]
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
11#
 楼主| 发表于 2013-10-5 21:51 | 只看该作者
结尾

为什么它如此的伟大?为什么这个疯狂的想法值得我们去追求?我想Alex Gaynor已经在他的博客上面做了很好的解释了:“[PyPy就是未来] 因为[它]提供了更快的速度,更大的灵活性,并且对于Python的成长也提供了一个更好的平台”

总之:

1) 它很快,因为它将源代码编译成了本地机器码(使用了JIT)

2) 它很灵活,因为除了极少数的额外工作需要做外,它就能将JIT加入你的解释器中

3) 它还是很灵活,因为你能使用RPython实现你的解释器,这个比其他的(比如C语言)更易扩展。事实上,它是如此的简单,这里有一篇教程教你如何实现你自己的解释器。

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
12#
 楼主| 发表于 2013-10-5 21:51 | 只看该作者
附录: 其他一些你可能已经听过的名字

Python 3000 (Py3k): Python 3.0的一个别名,2008年释出的一个主要版本,但是它并不向后兼容.。Py3k团队预测这个版本被完全采用可能需要5年时间.。现在绝大多数(注意:这个是江湖传闻)Python开发者继续在使用2.x版本,不过现在人们越来越多的对Py3k开始关心了。

Cython: 一个Python的超集,能够调用C语言的函数

目标: 允许你为你的Python代码写C扩展

允许你为你的Python代码加入静态类型,运行编译并达到接近C语言的性能。

这个跟PyPy比较类似,但是不是一样的。使用这个的时候,在提交给编译器之前必须用户代码里面写好这些特殊代码。如果使用PyPy的话,你写的还是普通形式的Python代码,编译器会帮你处理一切优化的工作。

Numba: 将JIT加入到被注解的Python代码中,简单来讲就是,你给它一些提示,它就会优化加速你这段代码。Numba是Anaconda发行版(一系列数据分析和管理的软件包)的一部分。

IPython: 跟我们讨论过的其他版本完全不一样。这是一个Python的计算环境。为一些GUI工具集和浏览器体验等提供支持。

Psyco: 一个Python的扩展模块,也是早先的一种Python JIT的成果。 然而,它已经被标注为“停止维护和死亡”了。事实上,Psyco的首席开发者Armin Rigo现在在为PyPy工作。

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
13#
 楼主| 发表于 2013-10-5 21:52 | 只看该作者
语言绑定

1) RubyPython: Ruby和Python虚拟机的一座桥梁。允许你在你的Ruby代码中嵌入Python代码。你定义Python的起始位置,然后RubyPython负责在不同VM直接传递整理数据。

2) PyObjc: Python和Objective-C语言直接的桥梁。实际上,这意味着你能在你的Python代码中使用Objective-C的库(包括创建一个OS X应用程序所需要的一切),反过来在Objective-C里面也可以使用Python的模块。这样的话,CPython用C语言来实现就很方便了,因为C语言是Objective-C的一个子集。

3) PyQt: 同PyObjc帮你绑定OS X GUI组件类似,PyQt帮你绑定Qt应用程序框架,让你可以创建丰富的图形界面,访问关系数据库等等。另外的一个旨在帮你简化从Python到另外的框架的工具。

JavaScript 框架

1) pyjs (Pyjamas): Python中一个创建web和桌面应用程序的框架。包含一个Python-to-JavaScript的编译器和其他一些工具。

2) Brython: 一个使用JavaScript语言写的Python虚拟机,可以让Py2k 代码在浏览器中执行。

使用道具 举报

回复
论坛徽章:
277
马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11版主9段
日期:2012-11-25 02:21:03ITPUB年度最佳版主
日期:2014-02-19 10:05:27现任管理团队成员
日期:2011-05-07 01:45:08
14#
 楼主| 发表于 2013-10-5 21:52 | 只看该作者
over.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表