前一段时被 python 给震惊了,python 在编程语言排行版中夺得第一。我想很多人都听说过 python 这门编程语言。在二月中旬的时候打开b站,首页的广告都是 python 的,python 都面向肥宅了(我也是肥宅)了,可想它的火热程度。
那么 python 为什么突然这么火了呢?火的为什么是 python 这门语言而不是其他语言呢?
先来看下python的“基本资料”。这是百度百科对python的定义。
Python 是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
从定义中可以看出 python 是一门脚本语言,一个脚本语言怎么可以称霸语言排行榜呢?
来看下python的发展史:
Python的创始人为荷兰人吉多·范罗苏姆 (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森干的飞行马戏团》(Monty Python's Flying Circus)。 ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。 就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。 Python 已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。 2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。 由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。 2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。
从这里面可以看出 python 的几个特点: 简单、易用,非常适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。
另外 python 是免费开源的,任何人都可以使用。
在可调用第三方库的数量和易用性上具有很大的优势。这也是 python 为什么适用与工业开发,已有库不用做任何修改可以拿过来直接使用的,这个太节省时间了。
我的电脑上面一直安装有 python ,但是基本没有编写过程序,我都是拿来当作计算器来使用的,直接在python的黑窗口中使用,真的非常方便,不用考虑位数太长的问题,次方运算特别好用。 这就在一个方便说明了python的易用性了。
Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度较快快。
按照年龄 python 可以喊 Java 一声“小老弟”了,但是小老弟早就得到了广泛的使用,现在都不能说 Java 火不火 ,因为人家一直很稳定,从来没有跌出过前五(如果有的话请不要告诉我,我要面子),那为什么 python 突然冲进了前三,乃至占据榜首呢? 上面这些原因哪个是让python火的原因呢?我认为是是三个,也就是工程技术方面。从上面的发展史可以看出来,python 不是突然火的,从2004年以后,python的使用率就呈线性增长。在2011年1月,更是被TIOBE编程语言排行榜评为2010年度语言。只是没有得到广泛的关注而已。python 的的大火是跟人工智能、大数据的火热是分不开了,大部分人工智能开发者都采用了 python 来进行开发,因为它真的是太方便来,编写简单,调试简单,可以调用现有的库。这使开发者的开发效率得到很大的提升。
在接下来的时间里,python 的使用率肯定是掉不下来的(个人认为,因为人工智能和大数据只会更火,暂时没有语言可以再这方便替代 python)。
如果让我猜一下下一个火的语言是什么我会猜GO,为什么?相对于 python 的大蟒蛇标志,这么可爱的标志谁不爱呢(手动狗头)?(python 在后面舍弃了蟒蛇直接图像的表的,用了一种抽象的表达)
之所以我这么猜是因为下面几个原因
1.背后有大佬站台,Google 作为爸爸,实力就不用说了。
2.相对于 python 来说效率更高,Go 的效率是 python 的30倍。虽然开发效率没有 python 那么高,但是在开发中还是可以接受的。
3.另外一个很重要的原因是,未来的服务器压力会很大。这几天大家应该都被 5G 的消息刷屏了,如果 5G 真的可以大幅推广开,实现低延迟、高速传输,那到时候的电脑和手机完全可以以终端的形式存在,只有一个显示屏和输入输出设备就可以了,什么存储器、处理器完全可以不要。那到时候的服务器压力可想而知(特别是游戏方面,到时候服务器的图像处理压力会是巨大的),而 Go 就是为服务器“而生”的。
现在 Go 在可调用第三方库的数量和易用性上都不如 python ,没有办法,在这方面 python 做的太好了真的。如果 Go 可以再这方面做的好一些,那真的是“前途不可限量啊”。
Ps:这篇文章写的比较乱,一是自己对于 python 也好 Go 也好没有太深入的了解,猜想都是一些主观的。另外自己在书面的表达的上还存在一些不足。在接下来的日子里会提升自己的。愿我们一起进步!!! UP! UP! UP!
网友评论