Python编程语言的实现内幕的相关介绍

开发 后端
Python编程语言是一种应用强大的语言脚本,很多人对其的应用已是很了解的了,但是你对Python编程语言的“现实内幕”感兴趣吗?如果有此兴趣你可以浏览我们的文章。

以下的文章是对Python编程语言的“实现内幕”做一介绍,大家很熟悉的有可能是Python的发展历史,也有可能是Python编程语言的实际应用中具有强大的功能,下面是文章的主要描述,希望大家会有所收获。

Python“ 时,他们可能想到的是有时称为 ”CPython“(因为它是以 C 实现的)的这种特定实现。但 Python 作为一种语言规范,已随着 Guido van Rossum 的参考实现的演变而实现了多次。本文包含对两种非标准 Python -- Stackless 和 Vyper -- 创始人带注释的采访。#t#

developWorks 网站上的 Linux 专区是有关 Linux、Linux 资源和 Linux 开发的开发者资源。
据我了解,现在可以下载并运行四种 Python 的实现,还有一种实现正在创建中。每种实现都有其存在的特殊理由,这些理由可以在这里从实现开发者自己的话语里了解到。

对不同的平台重新编译编译器或解释器所产生的实现只是略有不同(可能有少量的条件性编译和更改),但最有趣的实现(就我而言)是超越平台问题的那些。实际上,我们在这篇文章中将要看到的那些 Python 实现大多本身就是多平台。实现的概念也与 版本的概念有所区别。

就语言特性而言,这里谈到的所有实现基本上都处于同一语言版本 (1.5.2)。很明显,CPython 1.6/2.0/3000 已经有一个部分属于新的基本实现,但其它实现可以同样地与那些语言级别的特性一致。

重新实现了哪些编程语言,实现的频率怎样,出于什么原因,以及由谁实现?要形容这组语言非常困难。某些与 Python 几乎处同一地位的流行语言 -- 例如 perl、REBOL 和 PHP -- 只有一种实现(编译成许多平台)。TCL 与 Perl/PHP 最为相似,但 确实有一种称为 Jacl 的 Java 平台版本。

从另一个极端来看,例如 C、Awk、Cobol、REXX 和 Java 这样的语言,每个都曾经被无数次地实现。但那些再实现是为了许可和营销等考虑,而不是出于实现的概念和抽象问题。似乎有特殊学术意味的那些语言重新实现得很多(特别是函数性、逻辑性或超纯 OOP 语言,例如Smalltalk 和 Eiffel)。Lisp 没有几百个也有几十个实现和派生。

与我们将要讨论的 Python 实现不同,Lisp 的派生在提供新实现的同时往往引入许多新颖的 语言特性。Python 实现在很大程度上实现和主要 CPython 版本 相同的 Python 语言。所有现有的版本都是开放源码合作努力的结果,这种情况下,创新与市场定位没有太大关系,甚至与有时导致开放源码项目分裂的许可证争斗也没有什么关系。

而且,不同的 Python 版本也不是真正传统意义上的 支流,而集中于不同的概念,正是这些概念证明它本身就是 Python 实现。

两种没有详细说明的实现是 JPython 和 Python.NET。JPython 是以 Java 编写的编译器,用于将 Python 源代码编译成 Java 字节码。Python 应用程序最终是在 JVM(用户可能不知道它是以 Python 源代码而不是 Java 编写的,他们也不需要关心)中运行的。Python.NET 是个还未交付的实现,但它 -- 至少在结构上 -- 将与 JPython 相似。

Python.NET 将让 Python 参与到微软的 .NET 项目中,该项目基本上接近于一个可以运行以各种语言(例如新的 C#、Visual、Basic、C++,以及 Python)编写的程序的非 Java VM。请随时关注这些实现的开发者发布的信息。


 

责任编辑:佚名 来源: 互联网
相关推荐

2010-03-10 18:12:50

Python编程语言

2010-03-22 17:30:18

Python对象

2010-03-17 16:50:51

2010-04-19 16:42:14

OraclePL

2019-02-11 08:32:22

编程语言Go

2010-03-19 16:51:53

Java Socket

2010-03-24 18:54:53

Python语言

2010-03-19 12:49:20

Python编程

2010-03-11 16:50:27

Python应用

2010-02-26 10:07:55

Python编程语言

2010-02-02 18:27:02

Python语言

2010-03-19 11:04:20

python模块

2010-03-24 08:55:02

Python编程语言

2010-03-19 09:39:17

Python编程语言

2011-07-22 09:43:37

java

2011-07-21 17:45:02

java

2010-03-25 16:51:12

Python程序

2011-07-21 17:18:52

java

2011-07-21 17:33:27

JAVA

2011-07-22 10:02:07

java
点赞
收藏

51CTO技术栈公众号