1.1Python语言的发展介绍和实现方式

Python的创始人为吉多·范罗苏姆(Guido van Rossum),当时他在阿姆斯特丹的荷兰数学和计算机科学研究学会工作。1989年的圣诞节期间,吉多·范罗苏姆为了打发时间,决心开发一个新的动态解释型弱类型脚本编程语言,作为ABC语言的一种继承,替代使用Unix shell和C语言进行系统管理,担负同Amoeba操作系统的交互和异常处理。第一版发布于1991年,它是ABC语言的后继者,也可以视之为一种使用传统中缀表达式的LISP方言。之所以选中Python作为编程的名字,是因为他是BBC电视剧——(Monty Python)蒙提·派森的飞行马戏团的爱好者。范罗苏姆作为Python的主要开发者独自担负这个项目的职责,直到2018年7月12日,他宣布从作为终身仁慈独裁者(BDFL)的职责上“永久休假”,Python社区向他授予这个头衔反映了他长期担任整个Python语言的发展方向的决策者。他在2019年1月至11月参与了一个五人掌控委员会继续领导项目发展。

Python解释器本身几乎可以在所有的操作系统中运行。Python的官方解释器CPython是用C语言编写的,它是一个由社区驱动的自由软件,目前由Python软件基金会管理。

实现方式

Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,根据该规则可编写Python解释器。

  • CPython:官方的解释器,需要区别于其他解释器的时候才以CPython称呼。这是最常用的Python版本。
  • MicroPython和CircuitPython:为微控制器而优化的Python 3变体。
  • PyPy:RPython实现的Python,快速的规矩的Python 2.7和3.6解释器。它的即时编译器带来了超过CPython的显著速度提升,但是它不能使用一些用C写的库。
  • Stackless Python:是实现微线程的CPython的重要分叉,它不使用C内存堆栈,因而允许大规模并发程序。PyPy也有无堆栈版本。
  • Jython:Java实现的Python,Jython可以直接调用Java的各种函数库。
  • IronPython:面向.NET和ECMA CLI的Python实现。IronPython能够直接调用.net平台的各种函数库,可以将Python程序编译成.net程序。

到其它语言的交叉编译器

  • Cython:把Python编译成C和C++。
  • Numba:使用LLVM把Python编译成机器码。
  • RPython:可以编译成C,并被用来建造Python的PyPy解释器。
  • MyHDL:把Python编译成VHDL。
  • Nuitka:把Python编译成C++。
  • Pythran:把Python编译成C++。
  • Google的Grumpy(最近发行于2017年):把Python 2编译成Go。
  • Shed Skin(最近发行于2013年):把Python编译成C++。
  • Pyjs(最近发行于2012年):把Python编译成JavaScript。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/back/python/2648.html

发表评论

登录后才能评论