后起之秀的炼成——Python诞生与崛起之路

今天,咱们来聊一聊python的诞生与发展历程。
为何我会选择介绍python的历史呢?让咱们来看张图:html

这里写图片描述
该图为2017年世界编程语言使用率
能够看到,python位列第五,仅次于java和C一类的语言。
若是这不够具备说服力,让咱们再来看两张图片:java

这里写图片描述

这里写图片描述
图一为2017年数据工做者所使用语言的状况,图二为IEEE发布2017年编程语言排行榜,能够看到,两张图中python均高居榜首。python

那么,是什么使python在短短二十几年间成为一个如此受人热捧的语言?纵观它的发展历史与历程,或许答案就会变得明晰。程序员

Python,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
这里写图片描述
此为Guido van Rossum(图片来源百度百科)web

做为python的做者,是什么促使他设计了这个语言呢?
在80年代,我的电脑的配置较之现在是极低的,程序员不得不努力思考如何最大化利用空间,以写出符合机器口味的程序。而正是由于这一点,让guido感到苦恼。他认为这样编写程序实在是太过于耗费时间,因而他想到了shell。shell能够像胶水同样,将UNIX下的许多功能链接在一块儿。许多C语言下上百行的程序,在shell下只用几行就能够完成。然而,shell的本质是调用命令,它并非一个真正的语言,shell不能全面的调动计算机的功能。
因而,guido开始思考,是否能设计一款语言,使它同时具有C与shell的优势,既可以全面调用计算机的功能接口,又能够轻松编写程序。
后来他进入CWI(Centrum Wiskunde & Informatica, 数学和计算机研究所)工做,并参加了ABC语言的开发。ABC语言旨在让语言变得容易阅读,容易使用,容易记忆,容易学习。但因为它的可拓展性差,不能直接IO,过分革新与传播困难,致使它不为大多数程序员所接受(由于语法上的过分革新,加大了程序员的学习难度)与传播。
除去这些缺点,咱们不难看出,ABC就guido心中所指望的那款语言的雏形。shell

1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。而取名python,是取自他挚爱的一部电视剧Monty Python’s Flying Circus 。数据库

1991年,第一个Python编译器诞生,它是用C语言实现的,并可以调用C库(.so文件)。从一出生,Python已经具备了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
guido为防止重蹈ABC的覆辙,着重注意python的可扩展性,而且也沿用了C中的大部分语法习惯,而这,使python获得guido同事的欢迎。他们迅速的反馈使用意见,并参与到Python的改进。
python诞生在一个幸运的时间。1990年代初,我的计算机开始进入普通家庭。Intel发布了486处理器,windows发布window 3.0开始的一系列视窗系统,计算机的性能大大提升。而且因为Internet随我的电脑的普及而为人们所广知,许多程序员以及资深计算机用户频繁使用Internet进行交流,这使得python没有了硬件上的束缚与传播上的困难,再加上python易于使用的特色,使python获得了必定程度上的传播。编程

Guido维护了一个maillist,python用户经过邮件进行交流。由于python用户来自许多领域,有不一样的背景,对python也有不一样的需求。python至关的开放,又容易拓展,因此当用户不知足于现有功能,很容易对python进行拓展或改造。随后,这些用户将改动发给Guido,并由Guido决定是否将新的特征加入到python或者标准库中。这就使得不一样领域的优势集中于python。
后来的python2.0,从maillist的开发方式,转为彻底开源的开发方式,(开源:因为Internet让信息交流成本大大降低,所出现的一种新的软件开发模式)python的数据库的扩展速度与传播速度也由此更进一步。
到今天,Python的框架已经确立。Python语言以对象为核心组织代码(Everything is object),支持多种编程范式(multi-paradigm),采用动态类型(dynamic typing),自动进行内存回收(garbage collection)。Python支持解释运行(interpret),并能调用C库进行拓展。Python有强大的标准库 (battery included)。因为标准库的体系已经稳定,因此Python的生态系统开始拓展到第三方包。这些包,如Django, web.py, wxpython, numpy, matplotlib,PIL,将Python升级成了物种丰富的热带雨林,这也是python相较于C,java一类语言的优点。例如一道高数中求解极限的题:
这里写图片描述windows

咱们用C语言来编译求解:
这里写图片描述框架

而后使用python:
这里写图片描述
这样一对比,就能够清晰地看出python的优点了。

纵观python发展的历史,咱们不难看出,python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,而且被大量用户所欢迎的、用途普遍的语言。python所崇尚的优雅、明确、简单,为它带来了今天的热度。虽然这不是主要的缘由,但咱们不难从python的故事中看出,语言终究是服务于人的,而不是机器,当语言变得简单明了方便且易于使用的时候,它的推广就已成定数。正如延续下来的是python,而不是淹没在历史中的ABC。

python的发展,足以做为后来语言发展的典范,是当之无愧的后起之秀。
这里写图片描述
PS:部分资料参考/截取于:
Python简史
https://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html
百度百科:Python
https://baike.baidu.com/item/Python/407313?fr=aladdin#1