Python越来越火 Python简史你知道多少 (python在线运行)

Python的起源

Python的作者,Guido von Rossum,确实是荷兰人。1982年,Guido从阿姆斯特丹大学(University of Amsterdam)获得了数学和 计算机 硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的活儿。

Python越来越火,Python简史你知道多少? IT业界 第1张

Guido von Rossum

在那个时候,他接触并使用过诸如Pascal、C、 fortran等语言。这些语言的基本设计原则是让机器能更快运行。在80年代,虽然IBM和 苹果 已经掀起了个人 电脑 浪潮,但这些个人电脑的配置很低 (在今天看来)。比如早期的Macintosh,只有8MHz的CPU主频和128KB的RAM,一个大的数组就能占满内存。所有的编译器的核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使 程序员 像计算机一样思考,以便能写出更符合机器口味的程序。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为C语言的指针是在浪费内存。至于动态类型,内存自动管理,面向对象…… 别想了,那会让你的电脑陷入瘫痪。

然而,这种思考方式让Guido感到苦恼。Guido知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间 (即使他已经准确的知道了如何实现)。他的另一个选择是shell。Bourne Shell作为UNIX 系统 的解释器(interpreter)已经长期存在。UNIX的管理员们常常用shell去写一些简单的脚本,以进行一些系统维护的工作,比如定期备份、文件系统管理等等。shell可以像胶水一样,将UNIX下的许多功能连接在一起。许多C语言下上百行的程序,在shell下只用几行就可以完成。然而,shell的本质是调用命令。它并不是一个真正的语言。比如说,shell没有数值型的数据类型,加法运算都很复杂。总之,shell不能全面的调动计算机的功能。

Guido希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。ABC语言让Guido看到希望。ABC是由荷兰的CWI (Centrum Wiskunde & Informatica, 数学和计算机研究所)开发的。Guido在CWI工作,并参与到ABC语言的开发。ABC语言以教学为目的。与当时的大部分语言不同,ABC语言的目标是“让用户感觉更好”。ABC语言希望让语言变得容易阅读,容易使用,容易记忆,容易学习,并以此来激发人们学习编程的兴趣。比如下面是一段来自Wikipedia的ABC程序,这个程序用于统计文本中出现的词(word)的总数:

HOW TO用于定义一个函数。一个Python程序员应该很容易理解这段程序。ABC语言使用冒号(:)和缩进来表示程序块(C语言使用{}来表示程序块)。行尾没有分号。for和if结构中也没有括号()。如果将HOW TO改为def,将PUT行改为collection = [],将INSERT行改为collection.append(word),这就几乎是一个标准的Python函数。上面的函数读起来就像一段自然的文字。

尽管已经具备了良好的可读性和易用性,ABC语言最终没有流行起来。在当时,ABC语言编译器需要比较高配置的电脑才能运行。而这些电脑的使用者通常精通计算机,他们更多考虑程序的效率,而非它的学习难度。除了硬件上的困难外,ABC语言的设计也存在一些致命的问题:

Python越来越火,Python简史你知道多少? IT业界 第2张

IBM tape drive:读写磁带

1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国 生活 为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。Guido作为一个语言设计爱好者,已经有过设计语言的(不很成功)的尝试。这一次,也不过是一次纯粹的hacking行为。

Python的诞生

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

Python越来越火,Python简史你知道多少? IT业界 第3张

最初的Python logo: 由Guido的兄弟Just von Rossum设计

Python语法很多来自C,但又受到ABC语言的强烈影响。来自ABC语言的一些规定直到今天还富有争议,比如强制缩进。但这些语法规定让Python容易读。另一方面,Python聪明的选择服从一些惯例(特别是C语言的惯例)。比如使用等号赋值,使用def来定义函数。Guido认为,如果“常识”上确立的东西,没有必要过度纠结。

Python从一开始就特别在意可拓展性(extensibility)。Python可以在多个层次上拓展。从高层上,你可以引入.py文件。在底层,你可以引用C语言的库。Python程序员可以快速的使用Python写.py文件作为拓展模块。但当性能是考虑的重要因素时,Python程序员可以深入底层,写C程序,编译为.so文件引入到Python中使用。Python就好像是使用钢构建房一样,先规定好大的框架。而程序员可以在此框架下相当自由的拓展或更改。

最初的Python完全由Guido本人开发。Python得到Guido同事的欢迎。他们迅速的反馈使用意见,并参与到Python的改进。Guido和一些同事构成Python的核心团队。他们将自己大部分的业余时间用于hack Python (也包括工作时间,因为他们将Python用于工作)。随后,Python拓展到CWI之外。Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思考。Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节 (Guido有一件T恤,写着:人生苦短,我用Python)。这一特征吸引了广大的程序员。Python开始流行。

我们不得不暂停我们的Python时间,转而看一看这时的计算机概况。1990年代初,个人计算机开始进入普通家庭。Intel发布了486处理器,发布window 3.0开始的一系列视窗系统。计算机的性能大大提高。程序员开始关注计算机的易用性 (比如图形化界面)。

Python越来越火,Python简史你知道多少? IT业界 第4张

Windows 3.0

由于计算机性能的提高, 软件 的世界也开始随之改变。硬件足以满足许多个人电脑的需要。硬件厂商甚至渴望高需求软件的出现,以带动硬件的更新换代。C++和Java相继流行。C++和Java提供了面向对象的编程范式,以及丰富的对象库。在牺牲了一定的性能的代价下,C++和Java大大提高了程序的产量。语言的易用性被提到一个新的高度。我们还记得,ABC失败的一个重要原因是硬件的性能限制。从这方面说,Python要比ABC幸运许多。

另一个悄然发生的改变是Internet。1990年代还是个人电脑的时代,windows和Intel挟PC以令天下,盛极一时。尽管Internet为主体的信息革命尚未到来,但许多程序员以及资深计算机用户已经在频繁使用Internet进行交流 (包括email和NEWsgroup)。Internet让信息交流成本大大下降。一种新的软件开发模式开始流行:开源 (open source)。程序员利用业余时间进行软件开发,并开放源代码。1991年,Linus在comp.os.minix新闻组上发布了Linux内核源代码,吸引大批hacker的加入。Linux和GNU相互合作,最终构成了一个充满活力的开源平台。

硬件性能不是瓶颈,Python又容易使用,所以许多人开始转向Python。Guido维护了一个maillist,Python用户就通过邮件进行交流。Python用户来自许多领域,有不同的背景,对Python也有不同的需求。Python相当的开放,又容易拓展,所以当用户不满足于现有功能,很容易对Python进行拓展或改造。随后,这些用户将改动发给Guido,并由Guido决定是否将新的特征加入到Python或者标准库中。如果代码能被纳入Python自身或者标准库,这将极大的荣誉。Python自身也因此变得更好。

(Guido不得不作出许多决定,这也是他被称为Benevolent Dictator For Life的原因)

Python被称为“Battery Included”,是说它以及其标准库的功能强大。这些是整个社区的贡献。Python的开发者来自不同领域,他们将不同领域的优点带给Python。比如Python标准库中的正则表达(regular expression)是参考Perl,而lambda, map, filter, reduce函数参考Lisp。Python本身的一些功能以及大部分的标准库来自于社区。Python的社区不断扩大,进而拥有了自己的newsgroup,网站(python.org),以及基金 (Python Software Foundation)。从Python 2.0开始,Python也从maillist的开发方式,转为完全开源的开发方式。社区气氛已经形成,工作被整个社区分担,Python也获得了更加高速的发展。

(由于Guido享有绝对的仲裁权,所以在Python早期maillist的开发时代,不少爱好者相当担心Guido的生命。他们甚至作出假设:如果Guido挂了的话,Python会怎样。见If Guido was hit by a bus)

到今天,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已经进入到3.0的时代。由于Python 3.0向后不兼容,所以从2.0到3.0的过渡并不容易。另一方面,Python的性能依然值得改进,Python的运算性能低于C++和Java(见Google的讨论)。Python依然是一个在发展中的语言。我期待看到Python的未来。

Python启示录

Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言 (TIOBE语言排行第八,Google的第三大开发语言,Dropbox的基础语言,豆瓣的服务器语言)。这个世界并不缺乏优秀的语言,但Python的发展史作为一个代表,带给我许多启示。

在Python的开发过程中,社区起到了重要的作用。Guido自认为自己不是全能型的程序员,所以他只负责制订框架。如果问题太复杂,他会选择绕过去,也就是cut the corner。这些问题最终由社区中的其他人解决。社区中的人才是异常丰富的,就连创建网站,筹集基金这样与开发稍远的事情,也有人乐意于处理。如今的 项目 开发越来越复杂,越来越庞大,合作以及开放的心态成为项目最终成功的关键。

Python从其他语言中学到了很多,无论是已经进入历史的ABC,还是依然在使用的C和Perl,以及许多没有列出的其他语言。可以说,Python的成功代表了它所有借鉴的语言的成功。同样,Ruby借鉴了Python,它的成功也代表了Python某些方面的成功。每个语言都是混合体,都有它优秀的地方,但也有各种各样的缺陷。同时,一个语言“好与不好”的评判,往往受制于平台、硬件、时代等等外部原因。程序员经历过许多语言之争。我想,为什么不以开放的心态和客观的分析,去区分一下每个语言的具体优点缺点,去区分内部和外部的因素。说不定哪一天发现,我不喜欢的某个语言中,正包含了我所需要的东西。

无论Python未来的命运如何,Python的历史已经是本很有趣的小说

来源: 松松科技 QQ/微信:lusongsong7

网站VIP充值卡80元发1000篇 软文发布每条仅需几分钱随时随地想发就发发软文专用卡太实在了

本文地址: https://www.gpxz.com/article/7b67c8424835e56a7d0b.html
全局中部横幅
全局中部横幅
首页

北京积水潭医院是一家王府花园式医院。这里曾是元代大运河终点上樯帆林立的码头——“积水潭港”,也是清朝延续了二百多年的“棍贝子府”。

网页游戏开服列表

4399网页游戏开服列表为玩家提供热门网页游戏的每日开服信息、网页游戏大全、网页游戏开服时间预告以及热门网页游戏开服的资讯,找网页游戏就上4399。

新浪军事

手机新浪网军事频道是国内专业权威的军事资讯平台,为您提供最新最权威的军事新闻,让您随时随地看精彩的军事新闻。新浪军事触屏版-mil.sina.cn

清远银科

清远市银科专注安防监控,清远监控、监控摄像头安装,清远门禁系统,清远停车收费系统,网络布线,清远光纤光缆熔接,弱电工程,视频会议系统安装服务,可咨询报价清远智能停车道闸,弱电智能设备,防盗报警器,LED显示屏,考勤门禁,公共广播设备,智能家居系统,弱电工程施工,停车场管理系统、软件开发业务。上门维护与安装,为您提供最专业的咨询报价及解决方案、是您最放心的清远地区安防监控弱电公司!

北京中商智策企业管理有限公司

北京中商智策企业管理有限公司是一家服务于零售企业,并致力于为零售企业创造持久商业价值和提供先进经营管理专业技术支持的咨询管理公司。旗下设有【中商智策商学院】、【零商会】、【青藤商业设计】三大分支机构。中商智策通过对零售行业及企业所面临的核心问题的深入研究,以及长期的管理咨询经验积累总结,对零售企业进行技术指导、培训、实操、落地并循环跟进,帮助零售企业抵御竞争、改善业绩。

玻璃反应釜

岐昱实业(上海)有限公司专注于玻璃反应釜、旋转蒸发仪、分子蒸馏、薄膜蒸发器、分液器、真空抽滤器、真空泵、温控系统、尾气吸收装置等实验室及工业生产设备的生产及销售,并提供定制服务。

北京代理记账公司

北京会计公司,北京代理记账公司,亦庄记账公司,亦庄会计公司,亦庄代理记账公司,大兴区代理记账公司,顺义区会计公司,丰台区代理记账公司,昌平区会计公司,东城区代理记账公司,石景山区会计公司,海淀区代理记账公司,通州区会计公司,密云区记账公司,房山区会计公司哪家好?云浩财会专业北京代理记账,北京会计代理服务。亦庄会计公司,门头沟区代理记账公司,北京会计公司,北京记账公司,怀柔区会计公司尽在云浩财会。

贵州真石漆

贵阳金汇益建材有限公司是从事于建筑涂料,销售,施工为一体的一家综合型企业,主要产品有天然环保真石漆、多彩花岗岩涂料、室内外环保墙面漆、艺术浮雕漆、弹性花纹漆、水性金属漆、刮砂漆、岩片漆、质感涂料、幻彩涂料等。

北京写字楼租赁平台

乔迁(QiaoQian.com)提供专业的写字楼出租、写字楼租赁服务,汇集海量北京写字楼房源信息、北京办公楼租赁信息,实时更新,价格透明,欢迎咨询400-810-6920转1

力推宝【74732.com】

力推宝74732.com专注企业地域精准广告标题投放营销,力争每一次用户点击都是有效的,用较少的营销费用投入获取更大的转化。

python技能

我是一条想翻身的咸鱼


全局底部横幅