Python发展历史一览

前言

本文旨在寻根探本,追溯Python这门语言的发展历程,在世事变迁中坐看Python崛起。

…可惜为了看RNG v.s. C9比赛,本来八点半就应该写的,拖了一个小时,很亏。

Python的诞生(为什么会出现这样的新语言)

参考[1] https://ir.lib.vntu.edu.ua/bitstream/handle/123456789/10471/461.pdf?sequence=3

1)python是1980s(20世纪80年代)开始构想的,1989年被Guido van Rossum开发出来,作为ABC编程语言的继承者。

The history of the Python programming language dates back to the late 1980s [1, 27]. Python was
conceived in the late 1980s and its implementation was started in December 1989 by Guido van Rossum at
CWI in the Netherlands as a successor to the ABC programming language capable of exception handling and
interfacing with the Amoeba operating system.

2)Van Rossum是python的主要作者。

Van Rossum is Python’s principal author, and his continuing central role in deciding the direction of Python is reflected in the title given to him by the Python community.

3)python是通用型,高级编程语言。强调的是 code readability,它的句法使得程序员能够比在C++或者java下面编写更少的代码行数。

Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. The language provides constructs intended to enable clear programs on both a small and large scale

[only before noun] 多用途的;多功能的
having a wide range of different uses
a general-purpose farm vehicle
多功能农用机动车

syntax
(linguistics 语言) 句法;句法规则
the way that words and phrases are put together to form sentences in a language; the rules of grammar for this

4)python的特性
@1 Python supports multiple programming paradigms: 包括 object-oriented, imperative and functional programming or procedural styles aspect-oriented programming

Many other paradigms are supported using extensions, including design by contract and logic programming. 厉害,这里说的是python的扩展性很强。

@2 It features a dynamic type system and automatic memory management and has a large and comprehensive standard library 动态类型系统,自动内存管理,大量的库

Python uses dynamic typing and a combination of reference counting and a cycle-detecting garbage collector for memory management.

Python has a large standard library, commonly cited as one of Python’s greatest strengths [3, 178], providing tools suited to many tasks 被称作是最大的优点。

The community of Python developers has also contributed over 72,000 software modules (as of January 2016) to the Python Package Index (called PyPI), the official repository of third-party libraries for Python.
也太厉害了

@3 Python interpreters are available for installation on many operating systems, allowing Python code execution on a wide variety of systems 各个操作系统都有可用的python解释器

5)相比于其他编程语言,python的优势:
 clean syntax (for allocation of blocks to use derogations); 干净的句法
 tolerance programs (that is characteristic of most interpreted languages);
 normal distribution has a lot of useful modules (including the module for developing GUI); 很多库
 the use Python in interactive mode (very useful for experimentation and solve simple problems);
 normal distribution is simple but at the same time quite powerful development environment, which is
called IDLE and what is written in Python; 简单但是powerful
 suitable for solving mathematical problems (a means of working with complex numbers, can operate
with integers of arbitrary size, a dialog can be used as a powerful calculator). 对解决数学问题很有用
a dialog can be used as a powerful calculator 这里指的是那个shell吧,里面确实可以当计算器。

6)python 的弱点 :
@1 relatively low rate of implementation, 我觉得应该是编译比较慢
@2 缺少静态类型,对编译不利。

However, Python still has some disadvantages. Python like many other interpreted languages that do
not apply, for example, JIT-compilers have a common drawback - the relatively low rate of program
implementation. In addition, the lack of static typing and some other reasons do not allow you to implement a Python function overloading mechanism at compile time.

这个some other reasons是真的秀。

7)python名字的来源

Monty Python references in example code [4, 161]. For example, the metasyntactic variables often
used in Python literature are spam and eggs, instead of the traditional foo and bar. As well as this, the official
Python documentation often contains various obscure Monty Python references.

8)python的排名很靠前,很流行

Since 2003, Python has consistently ranked in the top ten most popular programming languages as measured by the TIOBE Programming Community Index. As of January 2016, it is in the fifth position. It was ranked as Programming Language of the Year for the year 2007

python 的发展

参考 https://en.wikipedia.org/wiki/History_of_Python

Python 2.0 was released on October 16, 2000, with many major new features, including a cycle-detecting garbage collector (in addition to reference counting) for memory management and support for Unicode. However, the most important change was to the development process itself, with a shift to a more transparent and community-backed process.[7]

Python 3.0, a major, backwards-incompatible release, was released on December 3, 2008[8] after a long period of testing. Many of its major features have also been backported to the backwards-compatible Python 2.6 and 2.7.[9]

从上面来看,python2.0成功的原因在于它转向了 more transparent and community-backed(社区支持) process 的开发。社区开发是真的强。

python2.0 2000年就搞出来了,3.0 在2008年也出来了,很厉害。

python是在ABC的影响下开发出来的编程语言

参考[4]: https://www.python-course.eu/python3_history_and_philosophy.php

What do the alphabet and the programming language Python have in common? Right, both start with ABC. If we are talking about ABC in the Python context, it’s clear that the programming language ABC is meant. ABC is a general-purpose programming language and programming environment, which had been developed in the Netherlands, Amsterdam, at the CWI (Centrum Wiskunde & Informatica). The greatest achievement of ABC was to influence the design of Python.

这里说ABC最大的成就是影响了python的开发,这里我觉得有点过于主观了。

python的取名是从英国喜剧(comedy)中而来的

So, what about the name “Python”: Most people think about snakes, and even the logo depicts two snakes, but the origin of the name has its root in British humour. Guido van Rossum, the creator of Python, wrote in 1996 about the origin of the name of his programming language1: “Over six years ago, in December 1989, I was looking for a ‘hobby’ programming project that would keep me occupied during the week around Christmas. My office … would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus).”

python的设计原则:(Zen是 禅 的意思)
在这里插入图片描述

python的版本发展历史
我觉得这里很有必要强调一下。因为:

我终于在这里找到了为什么要开发3.0版本的原因:
The emphasis in Python 3 had been on the removal of duplicate programming constructs and modules, thus fulfilling or coming close to fulfilling the 13th law of the Zen of Python: “There should be one – and preferably only one – obvious way to do it.”
此外还有一些3.0版本的特性,讲的很清楚:
1)print变成了函数
2)Views and iterators instead of lists
3)比较的规则更加简化
4)只有一个整型,即int。long也变成了int。
5)除法改变了
6)支持了unicode

Python version 1.0 was released in January 1994. The major new features included in this release were the functional programming tools lambda, map, filter and reduce, which Guido Van Rossum never liked.


Six and a half years later in October 2000, Python 2.0 was introduced. This release included list comprehensions, a full garbage collector and it was supporting unicode.


Python flourished for another 8 years in the versions 2.x before the next major release as Python 3.0 (also known as “Python 3000” and “Py3K”) was released. Python 3 is not backwards compatible with Python 2.x. The emphasis in Python 3 had been on the removal of duplicate programming constructs and modules, thus fulfilling or coming close to fulfilling the 13th law of the Zen of Python: “There should be one – and preferably only one – obvious way to do it.”


Some changes in Python 3.0:
 # Print is now a function
 # Views and iterators instead of lists
 # The rules for ordering comparisons have been simplified. E.g. a heterogeneous list cannot be sorted, because all the elements of a list must be comparable to each other.
 # There is only one integer type left, i.e. int. long is int as well.
 # The division of two integers returns a float instead of an integer. “//” can be used to have the “old” behaviour.
 # Text Vs. Data Instead Of Unicode Vs. 8-bit

关于python开发的趣事

参考:https://en.wikipedia.org/wiki/Python_(programming_language)

On the origins of Python, Van Rossum wrote in 1996:[36]


…In December 1989, I was looking for a “hobby” programming project that would keep me occupied during the week around Christmas. My office … would be closed, but I had a home computer, and not much else on my hands. I decided to write an interpreter for the new scripting language I had been thinking about lately: a descendant of ABC that would appeal to Unix/C hackers. I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus).


— Guido van Rossum

听作者这个话说的是:My office … would be closed, but I had a home computer, and not much else on my hands.
他的办公室要关闭了?噢噢,我懂了,是因为圣诞节,放假,所以办公室不开门

我还以为面临困境,然后绝境逢生的励志故事呢。
…原来不是什么都是精彩小说的剧情。。。

更多关于python的知识

参考:https://www.cnblogs.com/xincai/archive/2017/06/21/7058551.html
这个说的很好:
1)python在大量公司进行应用,比如Facebook,Instagram,知乎,豆瓣,谷歌等等。太多了。
2)python作为编程语言的类型:

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;

而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的. 这是因为计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

python是解释性语言。

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。


由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。

很有意思。

此外,参考文献[7]和[8]都讲了下:人生苦短,我用Python

我觉得挺有意思的,因为这个是印在作者T恤上的,很酷!
“Life is short, you need python.”

小结

好啦,到此为止。
参考了很多文献,也看了很多英文资料,写这篇文章大概用了一个半小时,所以,先就这样了。感觉已经比较完善了。

参考文献

[1] History of Python. https://ir.lib.vntu.edu.ua/bitstream/handle/123456789/10471/461.pdf?sequence=3

[2] The History of Python. https://www.youtube.com/watch?v=ualxVE4YOjc

[3] History of Python. https://en.wikipedia.org/wiki/History_of_Python

[4] History of Python. https://www.python-course.eu/python3_history_and_philosophy.php

[5] Python (programming language) https://en.wikipedia.org/wiki/Python_(programming_language)

[6] Python发展起源及基础知识. https://www.cnblogs.com/xincai/archive/2017/06/21/7058551.html

[7] Python简史. https://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html

[8] Python起源与发展. https://www.cnblogs.com/heqiuyong/p/8469357.html

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python是一种高级编程语言,由Guido van Rossum于1989年在荷兰创造。Python的设计目标是提供一种简单易读、易学习的语法,同时具备强大的功能和扩展性。 Python发展历史可以分为以下几个阶段: 1. Python 1.x系列:于1994年发布,这个版本的Python已经具备了基本的语法和功能,但还比较简单。这个版本的Python在学术界和爱好者中得到了广泛的应用。 2. Python 2.x系列:于2000年发布,这个版本的Python引入了一些重要的特性,如列表推导式、生成器、装饰器等。Python 2.x系列一直持续到2010年,成为当时最流行的Python版本。 3. Python 3.x系列:于2008年发布,这个版本的Python引入了一些重要的改进和变化,以解决Python 2.x系列中存在的一些设计缺陷和不一致性。然而,由于与Python 2.x不兼容,Python 3.x的普及速度相对较慢。目前,Python 3.x已经成为主流版本,并且得到了广泛的应用和支持。 除了以上主要版本之外,Python还有一些衍生版本和实现,如Jython(运行在Java虚拟机上)、IronPython(运行在.NET平台上)等。 Python发展历史中,除了语言本身的改进和演化,还有一个重要的因素是Python社区的活跃和贡献。Python社区是一个开放、友好和充满活力的社区,为Python发展做出了巨大的贡献,提供了大量的第三方库和工具,使得Python成为一种非常强大和灵活的编程语言

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值