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

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。

请随时关注这些实现的开发者发布的信息。有两种从理论角度上讲使人着迷的实。

全部

psp3000 java_psp上的python相关推荐

  1. python 开发板-MicroPython:STM32 上 的 Python 开发

    虽然Python在国外是一门非常火的语言,在黑客界更是赫赫有名,然而中国的大学却极少开设 Python 课程,故而国内 Python 程序员多属自学.而一个没有MCU编程经验的初学者,要想让芯片跑起来 ...

  2. 在Ubuntu 16.04.5 LTS上利用python中的PIL模块压缩一百多兆的单张图片实操

    在前面的博文中,我将300多张电影海报拼接为了一张103MB的巨幅图片,我想拿它做电脑桌面(1080P),但是这么多的图片,存储和加载是个麻烦事儿,需要将它压缩到几MB大小. 在Ubuntu 16.0 ...

  3. 在Ubuntu 16.04.5 LTS上升级python的pip版本实录

    在ubuntu 16.04.5 LTS上使用Python安装模块时,比较顺手的方法是使用pip命令.这次,我在安装一个模块时,老是提示下面的问题,比较不爽.所以,我就照着提示做了一遍,记录下来,以作备 ...

  4. 在Linux上利用python获取本机ip

    下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码 ...

  5. 不同平台上安装python一样吗_在多个平台如何安装Python

    最近的一个项目,架构师米洛需要用的mqtt,服务器开发的时候,竟然用的python脚本.运行python就需要安装开发环境,好吧,百度一下就知道了大神廖雪峰.以下部分测试通过,转载记录如下. 因为Py ...

  6. 如何在Windows上做Python开发?微软出了官方教程(附链接)

    来源:机器之心 本文附教程,建议阅读5分钟. 本文为你分享微软最近发布的关于在Windows上做Python开发的一系列官方教程. 在Windows上做Python开发太痛苦?微软最近发布了一系列官方 ...

  7. 微软官方教程教你如何在Windows上做Python开发?

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 教程地址:https://docs.microsoft.com/zh-cn/win ...

  8. 如何在树莓派上进行python编程_设置并使用树莓派进行Python和C语言编程 (下)

    Python部落(www.freelycode.com)组织翻译, 禁止转载 关键字 条件关键字 下表列出了和条件语句有关的关键字和它们的简要描述 if用来决定将要执行哪条语句 else 可选,条件为 ...

  9. android 使用perl语言,在Android上用python(Perl、Lua、BeanShell等)编程

    原文来自:http://imxingzhi.appspot.com/?p=110001python 偶然间发现了google code上的一个项目--android-scriptingandroid ...

  10. 服务器跑python程序_远程编写+调试服务器上的Python程序

    原帖参见(需自备梯子):https://webcache.googleusercontent.com/search?q=cache:1htdR2EXj5wJ:https://www.digitaloc ...

最新文章

  1. 多维列表索引_10分钟带你学会Pandas多层级索引
  2. APUE学习之三个特殊位 设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky...
  3. 深圳华为 C++面试题
  4. 梦断代码-读书笔记一
  5. C# 打印机功能打印图表
  6. 手机视频性能测试软件,视频性能检测工具——安兔兔视频测试
  7. 基于51单片机GPS的导航系统设计(1)---(设计思路)
  8. MikuMikuDance:渲染扩展《2》
  9. win10微信卡顿_电脑一分钟小技巧:win10微信电脑端多开方法
  10. JavaScript Backdoor
  11. awk OFS问题说明
  12. SQL 每月新增,复购人数,复购率
  13. Acwing 1191. 家谱树 (topsort
  14. Dataframe处理速度测试
  15. [arc075f]Mirrored
  16. Android 软件平台架构设计
  17. 爱死Intellij Idea 01
  18. 电池配置(串联和并联)及其保护
  19. python 实现四则运算(一)
  20. Java之读写分离实现

热门文章

  1. 智能交通运输(包括TOCC)精华主题汇总
  2. 微软上架激活工具,自己破解自己?
  3. 企业图纸无纸化,企业图纸安全使用和传输解决方案
  4. linux 下 pip 安装教程
  5. 宿舍管理系统【C语言建工程及多文件练习】
  6. Linux文件中批量转换时间戳,linux 文件日期转时间戳
  7. 【教程】3dsmax Vray材质转换标准材质(提前安装对应的Vary组件)
  8. js实现地图四级联动
  9. 国家级计算机实验教学师范中心,国家级实验教学示范中心
  10. 调度系统核心算法第一篇-交通管制