Python语言的起源与发展
01. 前言
Python现在是一门非常流行的语言,在编程语言流行排行榜上,长期进入前三名,使用非常普遍。
凡事有果必有因,那么大家有没有思考过Python为什么受欢迎么?
那么我们就从源头上来说说这个事情。
02. Python - ABC编程语言的替代者
Python设计的初衷就是用来替换ABC编程语言,作为Pyer我们先来一窥ABC语言的模样。
(1) ABC语言设计初衷
ABC语言是在NWO【荷兰科学研究组织】旗下CWI【数学与计算机科学国家研究所】的 Leo Grurts,Lambert Meertens,Steven Pemberton主导研发一种交互式,结构化高级语言,旨在替代BASIC,Pascal等语言,用于教学及原型软件设计。
从这里可以看到ABC语言的设计目的:
- 用于教学目的
- 软件的原型设计
(2) ABC语言的特点
同时,ABC语言的代码量通常为Pascal或者C语言程序的四分之一,并且具备更强的可读性,有以下特点:
- 只有五种基本数据类型
- 不需要变量声明(动态变量)
- 明确支持自上而下的编程
- 语句嵌套由缩进来表示
- 精度,列表,字符串均无限制
(3) ABC语言的一个小Sample
HOW TO RETURN words document:PUT {} IN collectionFOR line IN document:FOR word IN split line:IF word not.in collection:INSERT word IN collectionRETURN collection
这是一段统计文本中出现词的总数的小程序,你有没有觉得和Python的风格非常像哦,所以老子的基因刻在了儿子的身上,并发扬光大。
03. Python - 由大师来创造
(1) Python之父
Python的作者,Guido von Rossum,荷兰人。1982年,阿姆斯特丹大学毕业,获得数学和计算机硕士学位。
尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。
Guido希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。ABC语言让Guido看到希望,另外Guido van Rossum于20世纪80年代曾在ABC系统开发中工作了数年,他很清楚ABC的优点和不足,这些都为Python的诞生创造了条件。
(2) Python的诞生
1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器,参考了ABC语言,并取长补对。Python来自Guido所挚爱的电视剧Monty Python’s Flying Circus – 巨蟒剧团之飞翔的马戏团。
两年后,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
最初的Python logo设计,是由Guido的兄弟Just von Rossum设计。
(3) Python的发展
最初的Python完全由Guido本人开发。Python得到Guido同事的欢迎。他们迅速的反馈使用意见,并参与到Python的改进。Guido和一些同事构成Python的核心团队。他们将自己大部分的业余时间用于hack Python (也包括工作时间,因为他们将Python用于工作)。随后,Python拓展到CWI之外。
Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思考。Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节 ,这一特征吸引了广大的程序员,Python开始流行。
上面这个图表明了Python各个版本的发展历史和路线。今天Python已经进入到3.0的时代。由于Python 3.0向后不兼容,所以从2.0到3.0的过渡并不容易。另一方面,Python的性能依然值得改进,依然是一个在发展中的语言,未来可期。
04. Python - 前进的方向
“简洁而优雅” - 是我对Python的评价。
Python从其他语言中吸收了很多优点,例如ABC、C、Perl等语言。比如Python标准库中的正则表达(regular expression)是参考Perl,而lambda, map, filter, reduce函数参考Lisp,Python本身的一些功能以及大部分的标准库来自于社区开发者的贡献。
而如今,Python在自动化测试、机器爬虫、Web开发大数据、机器学习、人工智能领域都在大展拳脚。
如果你对Python语言感兴趣,可以阅读我的 >>> Python入门教程
05. 更多内容
原文来自兔子先生网站:https://www.xtuz.net/detail-126.html
查看原文 >>> Python的起源
如果你对Python语言感兴趣,可以关注我,或者关注我的微信公众号:xtuz666
06. 参考资料
- ABC语言官网介绍
- 巨蟒剧团之飞翔的马戏团-剧情
- 巨蟒剧团之飞翔的马戏团 第一季 预告片
- Python入门教程
Python语言的起源与发展相关推荐
- 何为python以及python语言的来历及发展历史
前言 ** 随着信息时代的到来,我们每天都会面对无数信息流的冲击,如何在信息浩瀚的海洋里准确寻找我们所需要的信息提高我们的工作效率使我们不得不考虑的事情. 今天小编就给大家带了解一种适合新手入坑的编程 ...
- C 语言的起源与发展
C 语言的开发 Dennis M. Ritchie Bell Labs/Lucent Technologies Murray Hill, NJ 07974 USA 原文:http://cm.bell- ...
- 程序设计语言python语言概述
程序设计语言 什么是程序设计语言 程序设计语言是人类与计算机交流和沟通的语言.人们通过使用程序语言,来书写计算机程序,以达到设计的程序满足需求的目的. 程序语言的发展历史 程序语言经历了从低级语言到高 ...
- python语言有几种编程方式_零基础自学python语言,有哪几种方法?龟叔说:这套教程带你入门...
第一我要说的是:你应该先了解python语言的起源,这句话对于自学python的小白来说,本身就是耍流氓. 我们从根源上分析这个问题,这个问题是(从零基础如何自学python编程)? 我的提取关键字: ...
- Python的创作起源,成功是必然的
国内网上关于Python语言的起源说的神乎其神,有的说"因为作者不喜欢花括号,于是发明了python",有的说是"作者为了打发无聊的圣诞之夜,发明了Python" ...
- JavaSE入门0之java起源与发展历程
JavaSE入门0之java起源与发展历程 文章目录 JavaSE入门0之java起源与发展历程 前言 1.Java的起源 2.Java和互联网 3.java历史 4.java语言特点 5.java应 ...
- python语言的就业方向_目前最全的Python语言的就业方向
本文主要向大家介绍了目前最全的Python语言的就业方向,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python是一门面向对象的编程语言,编译速度超快,从诞生到现在已经25个 ...
- python 职场需求_九年从业经验的职场人是否需要学习Python语言
首先,对于已经有9年从业经验的职场人来说,当前持续学习编程语言还是有必要的,一方面未来的职场上升空间非常大,另一方面掌握编程语言也是顺应当前互联网.人工智能时代的发展要求,随着工业互联网的发展,未来职 ...
- python百度百科-Python语言的发展简史
本文主要向大家介绍了Python语言的发展简史,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python是我喜欢的语言,简洁.优美.易用.前两天,我很激昂地向朋友宣传Pytho ...
- Python 语言发展历史
Python 是一门简洁而又强大的编程语言.相信即使是刚接触编程的同学也一定听说过「人生苦短,我用 Python(Life is short. You need Python.)」这句话.目前人工智能 ...
最新文章
- PyQt5 技巧篇-便于文字排版的等宽字体推荐:Source Code Pro的中文为英文两倍宽字体
- 2020年12月大学英语四六级英语作文预测(XDF王江涛)
- swt 键盘事件ctrl+c_跑Python的键盘可以很强大
- springboot定时删除log4j_SpringBoot整合log4j2进行日志配置及防坑指南
- UML--交互图(时序图、协作图)
- 在Linux中使用cURL进行HTTP POST和GET [复制]
- Swift语言中的#ifdef替换
- 正则表达式,小于等于180且大于等于0的浮点型
- xiaomi手机因小米账户密码遗失而无法激活手机的解决方案
- 指派问题程序c语言,指派问题lingo程序样例
- ElasticSearch配置集群
- 汤姆猫炫跑鸿蒙,汤姆猫炫跑最新版下载|汤姆猫炫跑新版本下载 安卓版 v1.4.0.470- 游娱下载站...
- TCP 与 UDP 的异同
- Nginx✧虚拟主机资源静态化
- 【Echarts】设置主题、扇形格式化
- android导入ssl证书,Android和SSL证书加载
- 视频标准 - CCIR601,CCIR656
- 锐评美赛2021C、D、E题 o奖论文
- 直播视频跨浏览器预览方案(ffmpeg+VideoJS+H5)
- python脚本自启动
热门文章
- 魔兽代理又起风云:网易暴雪腾讯的利益博弈
- 谷歌服务安装包_安卓手机安装谷歌服务框架和Google Play傻瓜式教程 100%好用
- 学校计算机机房使用登记表,计算机机房使用登记表.xls
- php留言板回复功能,php简单的留言板与回复功能具体实现_PHP教程
- 批量翻译软件免费【2022最新版】
- Nexus5 破解电信关键步骤
- 通王CMS采集-TWCMS文章采集-通王CMS关键词采集伪原创发布详解
- 数字万用表怎么检查计算机,如何用数字万用表判断三极管是NPN还是PNP型
- STM32笔记 (十)定时器(基本定时器)利用基本定时器实现毫秒延时
- FileZilla Server 设置