Python的过去和现在

图 | Pexels

日期 | 2021.1.15

人生苦短,我学Python。

很经典的一句话,不知道你们有没有听过,可能有的朋友刚来,连Python是什么都不清楚,至于为什么想要学它,理由无非是以下几个:

做爬虫建网站自动化办公数据分析从而解决某些效率上的具体问题

它确实具备这样的功能,也因为适用性广,宜用宜学,成为了多数人入门编程的首要选择。

不少教育机构嗅到了这个商机,开始大力宣传Python,营造了一股全民皆可学Python的热潮,上到八十岁老人,下到三五岁的小孩都可以学,先不论这个做法对不对,但是。

你可能就是在这样的机缘巧合下接触到了Python,对它产生了好奇。

今天,我们就来一步步揭开它的神秘面纱,从过去和现在两个时间维度进行解读,来帮助大家更好地理解Python,学习Python。

过去

你敢相信,Python竟然是为了打发时间而被设计出来的吗?

1989年,Python作者Guido von Rossum(龟叔)希望设计出一种介于C和shell之间,功能全面,易学易用,可拓展的语言。

是什么样的理由,让龟叔想要设计一款如此自然的语言呢?

要知道当时,苹果和IBM已经掀起了个人电脑浪潮,但这些电脑配置低得可怕,早期的Macintosh(苹果的Mac)只有8Mhz的CPU主频和128KB的运行内存,对比起今天动辄2Ghz的CPU主频,16GB的运行内存,真的是小巫见大巫。

迫于无奈,当时的程序员都得像计算机一样思考,以便写出更符合计算机口味的程序。

这种思考方式让龟叔很是无奈,他知道如何用C语言写出一个功能,但这个编写过程太复杂,需要耗费大量的时间。

更多的时候,他选择用Shell,C语言下上百行的程序,在Shell只用几行就能解决,遗憾的是,Shell并不是真正的编程语言,它本质是调用命令,没有数值型的数据类型,连加减乘除都很难实现。

龟叔希望有一种语言,能够像C语言一样,全面调用计算机的功能接口,又可以像Shell一般,几行代码就能轻松的实现编程。

当时的他有幸参与到ABC语言的开发,这让他看到了希望,因为ABC语言的目标就是为了激发人们学习编程的兴趣,让编程语言变得容易阅读容易使用容易记忆容易学习

我们来看一段来自维基百科的ABC程序,这个程序用以统计文本中出现的词(Word)的总数:

HOW TO RETURN words document:    PUT {} IN collection    FOR line IN document:        FORword IN split line:           IF word not.in collection:               INSERT word IN collection    RETURN collection

可以清楚地看到,ABC语言已经非常接近自然文字了,就像我们平时说英语那般。

一个程序员是很容易理解这段程序的,小白也没关系,我带着你们捋一下。

HOW TO用于定义一个函数,这段函数中的冒号:和缩进来表示一个程序块,也就是构成程序的其中一部分,for和if的结构中也没有(),如果将HOW TO换成def,将PUT那一行改为collection=[],将INSERT那一行改为collection.append(word),这就几乎是一个标准的Python函数了。

遗憾的是,这种接近自然文字的语言在当时还是没能流行起来,因为它的要求太高了,需要配置较高的电脑才能运行。

而这些电脑的使用者通常精通计算机,他们需要思考的点不在于语言的学习难度,而在于程序的使用效率。

除此之外,ABC语言还存在着一些致命问题,可拓展性差传播困难不能直接操作文件系统,还有大多数程序员都不太能接受这种新的编写方式,让它在萌芽期就直接腰斩。

基于此前已经有设计ABC语言的经验,虽然不是很成功,但龟叔还是进行了一次尝试。这一次,也是再普通不过的hacking行为。

借着圣诞假期,他开始写Python语言的编译器/解释器,之所以选中Python(大蟒蛇)作为该编程语言的名字,是取自于Guido最爱的电视喜剧《蒙提·派森的飞行马戏团》(Monty Python's Flying Circus)。

功夫不负有心人,历经两年时间,于1991年,Python正式诞生,它是用C语言实现的,并能调用C语言的库文件。

Python语言诞生后,处境还是比较尴尬的,一直处于不愠不火的状态,前有C语言大哥,后有Java这个当红达人。

1990年还是个人电脑的时代,但当时多数程序员与资深计算机用户已经在频繁使用Internet进行交流(包括email和newsgroup),一种新的软件开发模式悄然流行起来:开源。程序员可以利用业余时间进行软件开发,并开放源代码。

只要硬件性能不受限制,Python就有了用武之地。

随后,龟叔维护了一个maillist,Python用户就可以利用邮件进行交流,而Python的用户背景各不相同,需求也不同,Python本身开放且容易拓展,这一下就把Python给带火了起来。

现在

Python在编程界的热度,再创历史新高,它不仅赢得了年度TIOBE编程语言奖,还被授予这一年“最受欢迎的编程语言”。

我们再来看看TOP10编程语言在这十几年的指数走势( 2002-2020 )

如今,它已成为数据科学和机器学习等领域中最受欢迎的语言,但它也用于Web开发和后端编程,并逐渐发展到移动应用程序领域,甚至在更大的嵌入式系统中也是如此。

大量采用这种语言的主要原因是易于学习语言及其高生产率。在一个渴望在各个领域拥有更多开发人员的世界中,这两种素质至关重要。

据统计,Python人才需求量每日高达5000+,但目前市场上会 Python的程序员少之又少,竞争小,很容易快速高薪就业。

从Python开发者薪资的变化趋势来看,目前Python正处于行业爆发初期的风口上。

从事Python开发,所从事的工作机会和工作岗位及工作内容可选择的余地很多,可从事大数据、数据分析师、人工智能工程师等方向,未来发展的空间大。

Python在数据分析、数据挖掘、人工智能、web开发等方面都大有发挥之处,再加上人工智能大量依赖数据,数据相关岗位人才的稀缺,Python现在的职位可谓是炙手可热。

智联招聘在2017年发布的《人工智能就业市场供需与发展报告》称,人工智能人才需求量增长2倍,近七成AI人才的薪资水平在月薪1万以上,约有1%的人才月薪在5万元以上。

Python工程师的薪资高,并不仅仅因为他们会Python这么简单,而是他们具备的工作能力,在互联网人才流动中,自学能力强、技术敏锐度的程序员基本都会有好的发展,获得丰厚的回报。

最后我还要说几句,不管Python未来的命运如何,它的历史本身就极其有趣,以现在的发展势头,它值得我们学习,值得我们去深入了解它的设计理念,以便更好地走进Python这个世界。

以上就是今日分享的Python过去和现在,如果我写的内容对大家有所帮助,还请大家花1秒时间点个在看,让更多的人知道你在为自己的未来,拼尽全力。

-END-

公主号【Python小白集训营】,每日干货分享,还有精彩活动等着你

回复「学习地图」:领取Python学习地图

回复「领奖」:参与近期抽奖,神秘大礼包整装待发

回复「大礼包」:领取Python系统入门自学教程

猜你喜欢

转载自blog.csdn.net/minzhisocute/article/details/112683119