• Python发展史和编程语言的分类


    一、脚本语言

      脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言,每次运行都会使对话框逐字重复。

      早期的脚本语言经常被称为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,文字处理文档,网络软件等。

      在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个Shell脚本主要由原本需要在命令行输入的命令组成,或在一个文本编辑器中,用户可以使用脚本来把一些常用的操作组合成一组序列。主要用来书写这种脚本的语言叫做脚本语言。很多脚本语言实际上已经超过简单的用户命令序列的指令,还可以编写更复杂的程序。

    二、什么是Python

      Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(吉多·范罗苏姆)于1989年发明,第一个公开发行版发行于1991年。

      Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议  。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

      Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

      7月20日,IEEE发布2017年编程语言排行榜:Python高居首位  。

    三、Python的发展史

      1989年,Guido开始写Python语言的编译器。 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。

      Granddaddy of Python web frameworks, Zope 1 was released in 1999

      Python 1.0 - January 1994 增加了 lambda, map, filter and reduce.

      Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础

      Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生

      Python 2.5 - September 19, 2006

      Python 2.6 - October 1, 2008

      Python 2.7 - July 3, 2010

      In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible

      Python 3.0 - December 3, 2008 (细心的读者会发现,08年时就推出了3.0,2010年反而又推出了2.7?是因为3.0不向下兼容2.0,而很多公司已经基于2.0版本开发出了大量程序,公司已然投入了大量的人财物力,这就导致大家都拒绝升级3.0,无奈官方只能推出2.7过渡版本,之后我们都应该采用3.0解释器开发程序,但为了方便读者维护2.0版本的软件,我们在遇到两种版本的差异时会专门指出来)

      Python 3.1 - June 27, 2009

      Python 3.2 - February 20, 2011

      Python 3.3 - September 29, 2012

      Python 3.4 - March 16, 2014

      Python 3.5 - September 13, 2015

      Python 3.6 - 2016-12-23 发布python3.6.0版

    四、Python解释器有哪些种类?

      官方的Python解释器本质就是基于C语言开发的一个软件,该软件的功能就是读取以.py结尾的文件内容,然后按照Guido定义好的语法和规则去翻译并执行相应的代码。这种用C实现的解释器称为CPython,它是python领域性能最好,应用最广泛的一款解释器,我们在后面提到的解释器指的都是Cpython解释器。但其实解释器作为一款应用软件,完全可以采用其他语言来开发,只要能解释python这门语言的语法即可。Python解释器的一些种类如下,简单了解即可

     # JythonJPython解释器是用JAVA编写的python解释器,可以直接把Python代码编译成Java字节码并执行,它不但使基于java的项目之上嵌入python脚本成为可能,同时也可以将java程序引入到python程序之中

    
    # IPython
    IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的
    这就好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE
    CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。 # PyPy PyPy是Python开发者为了更好地Hack Python而用Python语言实现的Python解释器PyPy提供了JIT编译器和沙盒功能,对Python代码进行动态编译(注意不
    是解释),因此运行速度比CPython还要快# IronPython IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码

    五、编程语言的分类
      1、机器语言
        计算机能读懂的语言就是高电平和低电平,我们人为的把高电平定义为1,低电平定义为0,用0和1进行组合表示二进制指令,计算机就能能直接理解
    它的含义,所以机器语言是用二进制编程,也就是说机器语言可以直接操作硬件。因此机器语言属于低级语言,低级指的是底层、贴近计算机硬件(贴近代指
    需要详细了解计算机硬件细节、直接控制硬件)
      2、汇编语言
        汇编语言仅仅是用一个英文标签代表一组二进制指令,毫无疑问,比起机器语言,汇编语言是一种进步,但汇编语言的本质仍然是直接操作硬件,
    因此汇编语言仍是比较低级/底层的语言、贴近计算机硬件。
      
    3、高级语言(编译型如C、解释型如Python)
        
    高级语言是与操作系统打交道的,此处的高级指的是高层、开发者无需考虑硬件细节,因而开发效率可以得到极大的提升,但正因为高级语言离硬
    件较远,更贴近人类语言,人类可以理解,而计算机则需要通过翻译才能理解,所以执行效率低。
      3.1、编译型语言:类似于一篇英文小说,运行时读者需要先翻译全部内容,最后告诉读者小说的内容。
      3.2、解释型语言:
    类似于一篇英文小说,运行时读者看一行,程序给翻译一行(同声传译)。
      从编程语言的执行效率、开发效率、跨平台性对上面三种语言进行排序:
        执行效率:机器语言>汇编语言>高级语言(编译型>解释型)
        开发效率:机器语言<汇编语言<高级语言(编译型<解释型)  
        跨平台性:解释型语言跨平台性高,机器语言跨平台性低
      4、混合型语言:
        
    Java是一类特殊的编程语言Java程序也需要编译,但是却没有直接编译为机器语言,而是编译为字节码,然后在Java虚拟机上以解释方式执行字节码
      
     
  • 相关阅读:
    git版本控制入门
    SpringBoot入门基础:编写HelloWorld(三)
    SpringBoot入门基础:构建SpringBoot项目及启动器讲解(二)
    SpringBoot入门基础:介绍(一)
    maven入门基础:为项目分配独立的仓库实践(十七)
    maven入门基础:nexus的权限管理(十六)
    maven入门基础:使用maven部署构件到nexus(十五)
    maven入门基础:配置maven从nexus下载构件(十四)
    maven入门基础:nexus构建搜索(十三)
    事务的写法
  • 原文地址:https://www.cnblogs.com/liunaixu/p/12403553.html
Copyright © 2020-2023  润新知