python简史

python是一种解释型的、面向对象的、带有动态语义的高级编程语言。

它由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行与1991年。


1991年,第一个python编译器诞生,同时也是解释器。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有类(class),函数(function),异常处理(exception)等,包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。



Rossum曾参与ABC语言的开发,这种语言与当时主流的语言有较大的不同。

它隐藏了较多底层的东西,为使编程更简单,它的语法也更接近自然语言,而非机器语言。

 

在那个时候,Roosum接触并使用过诸如Pascal、C、Fortran等语言。这些语言的基本设计原则是让机器能更快运行。

在1980年代,虽然IBM和苹果已经掀起了个人电脑浪潮,但这些个人电脑的配置很低(对比如今)。

比如:早期的Macintosh,只有8MHz的CPU主频和128KB的RAM,一个大的数组就能占满内存。

所有的编译器的核心是做优化,以便让程序能够运行。

为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出符合机器口味的程序。

在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为C语言的指针是在浪费内存。

至于动态类型、内存自动管理、面向对象......别想了,那会让你的电脑陷入瘫痪。

 

python的底层以及很多库是用C写的,其运行速度相对较快(当然,比C、C++要慢)。

因为是解释型语言,无需像C等语言编译后执行,这使得它的灵活性更强。

python是一种免费、开源的语言,这一点很重要,它对python用户群的扩大起到了至关重要的作用。

用户群的扩大又丰富了python的功能,可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。形成了一种良性循环。

python拥有丰富的库,并且可移植性非常强,可与C/C++等语言配合使用,使其能胜任很多的工作,如数据处理、图形处理等。

自从2004年以后,python的使用率呈线性增长。

 

 

 

总结: 

      1989年的圣诞节,Guido开始编写Python语言的编译器。python这个名字,来自Guido所挚爱的电视剧Monty Python's
Flying  Circus。他希望这个新的叫做python的语言,能符合他的理想:

      他想创造一种C和Shell之间,功能全面,易学易用,可扩展的语言。

 

      1991年,第一个python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。

      从一开始,就具有:类、函数、异常处理。包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。

      1994/1          增加了lambda,map,filter  and  reduce。

      1999             python的web框架之祖---Zope 1发布

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

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

      2006/09/19   Python 2.5

      2008/10/1     Python 2.6

      2010/07/03   Python 2.7

 

      2008/12/03   Python 3.0

      2009/06/27   Python 3.1

      2011/02/20   Python 3.2

      2012/09/29   Python 3.3

      2014/03/16   Python 3.4

      2015/09/13   Python 3.5

      

       2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会再发布2.8版本,建议用户尽可能的迁移到3.4+

     
 Python最初发布时,在设计上有一些缺陷,比如Unicode标准晚于Python出现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限。例:对中文支持不好。 

     
 Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,所以很多早期版本的Python的程序无法再Py3上运行,为了照顾早期的版本,推出过渡版本2.6--基本使用了Python
2.x的语法和库,同时考虑了向Python3.0的迁移,允许使用部分3.0的语法与函数。

       2010年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7 ,
2.7比2.6进步非常多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群。