关闭

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

标签: python编程语言
297人阅读 评论(0) 收藏 举报

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

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

这里写图片描述

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

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

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

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

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一类语言的优势。例如一道高数中求解极限的题:
这里写图片描述

我们用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

0
0
查看评论

python是怎么诞生的

Python是Guido van Rossum创立的, 1989年圣诞节,他在阿姆斯特丹很无聊,决定开发一种新的脚本解释语言,之所以选择Python(大蟒蛇)作为程序的名字,是因为他是一个大蟒蛇飞行马戏团的爱好者。他的爱好很广泛,看起来像无所事事的。当然不是Python的创始人为Guido van ...
  • FRBeVrQbN4L
  • FRBeVrQbN4L
  • 2017-11-09 00:00
  • 450

python

Python (计算机程序设计语言) 编辑 Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。 Pyt...
  • weixin_41387481
  • weixin_41387481
  • 2018-01-29 16:25
  • 67

Python发展历史

起源 Python的作者,Guido von Rossum,荷兰人。1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。...
  • MiaoDaLengShui
  • MiaoDaLengShui
  • 2017-08-21 16:24
  • 752

从CES2018电子展看中国品牌自主创新崛起之路

CES2018国际消费电子展在美国拉斯维加斯落幕了,CES作为引流全球科技的风向标,历来都是各界重量级的国际品牌在此亮相,据官方统计,本届CES共有4500家企业参与,其中中国企业有1500多家,占比高达三分之一,中国品牌自主创新之路已经崛起。 这次参展有很多备受关注的中国品牌,比如华为、...
  • zxf410325
  • zxf410325
  • 2018-01-17 16:56
  • 95

中国汽车工业的发展道路

中国汽车工业的发展道路:回顾与展望─合作与自主问题 1 中国汽车工业发展的背景与回顾 1.1 认识汽车工业  汽车是惟一的一种"零件以万计,产量以百万计,保有量以亿计"的"第一商品",它的巨大市场潜力,...
  • kcai678
  • kcai678
  • 2007-01-25 13:56
  • 1910

码农 第七期 从Python开始

  • 2015-12-15 11:06
  • 19.65MB
  • 下载

我第一个Python教程笔记

Python在英文中是蟒蛇的意思,这门编程语言的创始人Guido   van   Rossum根据他喜欢的一家名叫python的马戏团命名了这门计算机编程语言。Python诞生自1989年,他的发展经历了三个时期:一是CNRI时期,CNRI是资助py...
  • itmr_liu
  • itmr_liu
  • 2015-08-18 18:59
  • 327

国家的崛起,无法建立局域网连接

w8,w10需要启动directplay,具体步骤: 控制面板,选择程序和功能,启用或关闭windows功能,旧版组件。然后勾选上directx组件就行了。
  • qq_34134278
  • qq_34134278
  • 2017-03-28 18:03
  • 1088

「成长指南」大佬是怎样炼成的

图像处理算法工程师职位要求 编程技能: 1、 具有较强的编程能力和良好的编程习惯, 精通c/c++编程,并熟练使用VS 或matlab开发环境; 2、 在计算机技术领域拥有扎实的技术功底,尤其在数据结构、算法和代码、软件设计方面功力深厚; 对数据结构有一定的研究基础如链表、堆杖、树等,熟悉数据...
  • poison1019
  • poison1019
  • 2017-12-06 14:14
  • 90

Python的由来

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符...
  • lhw413
  • lhw413
  • 2017-07-05 23:11
  • 663
    个人资料
    • 访问:1919次
    • 积分:136
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类