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 collection
      FOR line IN document:
         FOR word IN split line:
            IF word not.in collection:
               INSERT word IN collection
      RETURN collection

这是一段统计文本中出现词的总数的小程序,你有没有觉得和Python的风格非常像哦,所以老子的基因刻在了儿子的身上,并发扬光大。

03. Python - 由大师来创造

(1) Python之父

Guido von Rossum

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

最初的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. 参考资料


相关主题:
相关推荐
  1. 石家庄市柏林南路小学
  2. 小鸟的歌唱比赛
  3. Python公开课 - Django自定义404/404/500页面的两种方法
  4. 侦探与小偷
  5. Python公开课 - 异常处理
  6. 东莞市寮步红荔小学
  7. 武汉动物园火烈鸟孔雀排队打疫苗
  8. 石家庄盛世长安小学
  9. 十堰五堰小学
  10. 武汉推出越王勾践剑交通卡
  11. 抓包工具Charles安装及使用
  12. 脱单!武汉的相亲角在哪你知道吗?
  13. 谜语
  14. 程序自动去除图片水印
  15. 石门实验中英文学校
  16. 上海市杨浦区控江二村小学(控二)
  17. 事发武汉农夫山泉矿泉水内惊现大量虫卵
  18. Python公开课 - Python中的保留关键字
  19. 梦神
  20. 婴儿爱伸舌头怎么回事 - 育儿经验
  21. 央媒聚焦!国庆假期173.78万人次打卡大美黄陂
  22. 易中天给英雄武汉的一首诗 - 武汉新鲜事
  23. 武汉一女子七天被骗220万
  24. 湖北将发放消费券 - 武汉新鲜事
  25. 什么是TOGAF - TOGAF系列教程(1)
  26. 风雨桥的来历
  27. 牛郎织女(异文三种)
  28. 守承诺的狐狸-
  29. 韶关市南雄市黎灿小学
  30. Python源码剖析 - Python的总体架构
  31. 吉林省长春市晨阳双语幼儿园二部 - 长春幼儿园黄页
  32. 多活容灾解决方案
  33. 聪明岛艺术双语实验园 - 苏州幼儿园黄页
  34. 旅伴
  35. 星宇幼儿园 - 廊坊幼儿园黄页
  36. 深圳市南山区粤海街道海珠社区马荣教育机构海印长城儿童学苑 - 深圳幼儿园黄页
  37. 东莞市高�墩蛑行男⊙�
  38. 广州市越秀区瑞兴纸行幼儿园 - 广州幼儿园黄页
  39. 程门立雪
  40. 小狐狸和铁锅
  41. 重庆市渝中区枣子岚垭小学
  42. 深圳市南山区沙河街道中新社区华侨城幼教中心 - 深圳幼儿园黄页
  43. 武汉女子网上做兼职被骗六十五万
  44. Python基础视频教程 - 七天学会Python
  45. 杭州市西溪实验学校小学部
  46. 武汉00后大二学妹拍视频月入七十万
  47. 小神童国际幼儿园 - 廊坊幼儿园黄页
  48. Python公开课 - 标准库Decimal详解
  49. 初生宝宝可以喝蜂蜜水吗 - 育儿经验
  50. 上海市松江区实验幼儿园 - 上海幼儿园黄页