浅谈python起源
要说起python这门语言的由来呢,首先我们先来了解一下python这门语言的发明人Guido van Rossum是一个名字很长的人,就是下面的这个前辈。
翻译过来,我们亲切的称之为吉多,不知道大家有木有联想到关于一部藏獒的影片。
开个玩笑哈,现在我们进入正题,我们的前辈有一个非常亲民的名字叫做“龟叔”。在小编或者是大多数小伙伴还没出生的时候,1982年我们的“龟叔”已经从阿姆斯特丹大学获得了数学和计算机硕士学位,我们来计算一下当时他的年龄,龟叔出生于1956年1月31日,简单扳手指头算一下,哦,好像不够,在搬一下脚指头,还是不够,1982-1956=26岁。
龟叔在读书的时候呢,就已经接触了很多的语言,包括pascal,C,Fortran,其中一种,就是C语言,比如我们操作系统的鼻祖,尤尼斯操作系统(UNIX)就是用C语言写的,Linux也是C语言写的。如果,我们在C语言的操作系统上面运行C语言编写的程序,那么它的兼容性肯定是没的说的;所以咱们的龟叔,就用C语言去编写程序,在编写的过程中呢,发现了一些问题,比如我们乌班图(ubuntu)系统中执行一个命令(dir):
如上图所示,可以显示根目录下的东西,我们也可以把它看做是一个程序,当时龟叔突发异想,他不但会操作命令,也会C语言,有没有一种语言可以想命令一样简单,输入一行命令,就可以显示一个结果,不用去码N多代码,去实现想要的功能。
所以龟叔当时一直在寻找这样一种的语言,既可以像命令那样简洁明了,又可以和C语言的功能相媲美。不过当时那个年代,几乎是找不到的,不过找到了一种稍微类似的语言,就是传说中的ABC语言,我们有B语言、C语言、D语言,还有一种叫做E语言,不过不是大写的E,是容易的“易”。
易语言知识普及:
易语言,源自天朝,给大家普及一下,此类语言是用来干什么的,打豆豆的游戏大家都知道,这是游戏胜利的关键,可以用易语言写出外挂:
![]()
所以说世界上也有汉语写的程序,有的,就是易语言。
好,我们来接着往下说,龟叔当时找到ABC的时候有点靠谱,但又有点不靠谱,我们可以看一段代码,来自于Wikipedia的ABC程序,这个程序用于统计文本中出现的词的总数:
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
以上的代码如果要用C语言的话,可能要码很多的代码才行,这段代码他类似于命令,且功能也较为强大,这就是ABC让吉多老兄看上去比较靠谱的一个比较重要的原因,但是后面有很多的原因,吉多最终没有选用ABC,因为吉多发现ABC还不是他最终想要的语言。
之前我们说,龟叔想要一种既能够简单如命令,强大如C的语言。比如windows骚操作之一,cmd下面输入tree指令,敲个回车看看。
这里有兴趣的小伙伴可以试试,挺好玩的,可以出来好长好长的东西,当然也要你所在盘符的文件够多才可以!
当然龟叔有这种想法的时候,还有另一个原因,人家会shell脚本,那么这个shell脚本又是啥呢?给大家简单普及一下,我们在乌班图系统里面新建一个文件,以sh作为后缀,shell脚本文件的后缀为sh。
然后在文件里面添加如下ls命令,然后:wq关闭保存。
接下来给它加个权限chmod u+x :
执行ll指令查看文件的所有信息:
我们可以了解一下run.sh的相关信息:
-rwxrw-r–
通常情况下
第1位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道
第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。
第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。
第8-10位表示其他用户所具有的权限。
我们可以看到这个文件的权限是可读,可写,可执行的。
所以我们直接执行这个文件./run.sh:
我们可以看到这一块是ls指令的功能:
当我们把命令放到一个文件里面去,这个文件还能执行,这样的文件就称为shell脚本。Shell脚本主要适用于运维的领域,这个是搞运维的人最基本的要求。
龟叔当时也会shell脚本,但是shell脚本比较简单,功能没有C语言强大,所以想寻求一种新的功能语言。
在1989年,圣诞节的时候,闲来无事,就自己在家写python语言的编辑器,至于选中python这个名字,主要来源于我们的吉多老兄也喜欢看电视剧,此名字来自于他喜欢的一部剧叫做Monty Python’s Flying Circus。(查了一下这部剧轻松、诙谐、幽默。)
任何一门语言的开发,都需要将语言编辑器定义好,他的作用在于支持语言的运行,此编辑器在1991年诞生,python语言也相应的诞生了。可能python语言可能比各位小伙伴的年龄还长。在当时,这门语言问世以后,比较小众,但是近几年国外用这门语言的人越来越多,也就是说这门语言已经悄悄滴潜伏了将近30年了,真的不容易呀,卧薪尝胆也不过十年的光阴,抗日战争加解放战争十一年,他居然可以潜伏将近三十年,一下就出名了,目前搞大数据、人工智能and云计算,除了java,python也是比较强势的。特别是人工智能只一块,大部分入门的人群都将python作为首选语言。他的应用层面还是比较广的,可以去弄数据清洗、网站开发、还可以去搞人工智能(不过还需要一些数学功底)。