每一个人可能会根据工做要求的必然条件、兴趣爱好的充分条件,作出相应不一样的选择。也有不少工程师在学习一门新的技术时,都会担忧本身所学的技术是否会愈来愈流行,尽可能去避免学习了一个很是小众和冷门的技术。这种担心是能够理解的,毕竟,一门技术使用的人越多,对于早期学习这门技术的工程师来讲,就有越多的好处和优点。与此同时,若是学习了一门冷门的技术,不但英雄无用武之地,并且,在求职市场上也没有什么优点。要问个人入门编程语言选择,我首选必定是 Python,其具体缘由能够引用一位网友的回答,「学完 Python,能够上天」。算法
若是你们身处互联网,必定可以切身地感觉到 Python 语言的流行程度。Python 语言因为其简单易学、语法优美、应用领域普遍等诸多优势,俘获了大批的粉丝。可是,拿不出确切的证据,不少开发者也没法说服本身静下心来学习。接下来咱们就用数据来讲话。编程
首先,咱们了解一下近期编程语言排行榜中,Python 语言排名的变化。TIOBE 每月发布的编程语言排行榜是编程语言流行趋势的一个指标,每月更新。这份排行榜排名基于互联网上有经验的工程师、课程和第三方厂商的数量,使用搜索引擎进行计算而得,必定程度上反应了编程语言的热度。api
从近三个月的排行看,Python 一直稳定在排行榜的前五名。但编程语言排行榜仅能反应 Python 语言当下的流行程度,并不能回答 Python 是否愈来愈流行这个问题。不过,咱们能够从 TIOBE 发布的历史数据中找到一些线索。在 2015 年 2 月份发布的 TIOBE 编程语言排行榜中,Python 还排在第 8 名的位置,短短两年半的时间,Python 语言已经蹿升到第 4 名,其上升速度不可谓不快。微信
既然 TIOBE 的编程语言排行榜是根据搜索引擎获得的数据,那么,咱们也能够经过搜索引擎获得 Python 的搜索指数,经过搜索指数来查看 Python 语言热度的变化。图1.1 给出了最近 4 年,Python 这个关键词的 Google 搜索指数。网络
图1.1中能够看到,从全球范围来看,Python 语言是愈来愈流行的,其热度超过了以往任什么时候候。从中国的搜索指数来看,Python 语言已经不是愈来愈流行这么简单了,而是出现了爆发式的增加。2014 年之前,Python 在中国都属于小众语言,从 2014 年开始,Python 在中国愈来愈火爆。一个有趣的事实是,在图 1.1 给出的 Python 搜索指数中,Python 在中国的搜索每一年都会有一个很是明显的、向下的尖刺。这个尖刺所在的时间正好与春节的时间吻合,说明春节对全部中国人都是一个重要的节日,在春节期间,不多有人还在专研技术了。多线程
咱们再来看一下最新发布的微信搜索指数中,Python 语言的热度如何。图 1.2 给出了Python、Java、PHP 和 Ruby 的微信搜索指数对比图。架构
因为微信最多支持 4 个关键词进行比较,所以,咱们选择了 Java、PHP、Ruby 与 Python 进行比较。选择 Java 是由于它是一门比 Python 使用更加普遍的编程语言;选择 PHP 是由于它被认为是“世界上最好的”编程语言;选择 Ruby 是由于,它是全部编程语言中,与 Python 定位最近接近的编程语言。从图中能够看出,Python 语言和 Java 语言的微信搜索指数遥遥领先,而且,Python 语言的微信搜索指数比 Java 语言还要略高一点。并发
基于以上的编程语言排行榜、Google 搜索指数和微信搜索指数这几个不一样的数据来源,检视了 Python 语言的流行程度。如今,咱们能够很是明确的得出一个结论——Python 语言愈来愈流行,并且如今很是火。运维
那么为何 Python 语言会愈来愈流行呢?机器学习
缘由诸多,如愈来愈多的工程师使用 Python 进行大数据处理;科研工做者开始使用 Python 来进行数据分析;系统管理员使用 Python 管理 Linux 系统;开源的云计算平台 OpenStack 使用 Python 语言开发;不少编程爱好者使用 Python 进行爬虫等。可是,笔者认为,Python 语言之因此愈来愈流行,使用愈来愈普遍,主要仍是得益于其自身的诸多优势。
Python 语言拥有诸多的优势,这其中,如下几个优势特别显著:
简单易学: Python 语言相对于其余编程语言来讲,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是由于 Python 语言简单易学,因此,已经有愈来愈多的初学者选择 Python 语言做为编程的入门语言。例如,在浙江省 2017 年高中信息技术改革中,《算法与程序设计》课程将使用 Python 语言替换原有的 VB 语言。
语法优美: Python 语言力求代码简洁、优美。在 Python 语言中,采用缩进来标识代码块,经过减小无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提升。阅读一段良好的 Python 程序就感受像是在读英语同样,它使你可以专一于解决问题,而不用太纠结编程语言自己的语法。
丰富强大的库: Python 语言号称自带电池(Battery Included),寓意是 Python 语言的类库很是的全面,包含了解决各类问题的类库。不管实现什么功能,都有现成的类库可使用。若是一个功能比较特殊,标准库没有提供相应的支持,那么,很大几率也会有相应的开源项目提供了相似的功能。合理使用 Python 的类库和开源项目,可以快速的实现功能,知足业务需求。
开发效率高: Python 的各个优势是相辅相成的。例如,Python 语言由于有了丰富强大的类库,因此,Python 的开发效率可以显著提升。相对于 C、C++ 和 Java 等编译语言,Python 开发者的效率提升了数倍。实现相同的功能,Python 代码的文件每每只有 C、C++ 和 Java 代码的 1/5~1/3。虽然 Python 语言拥有不少吸引人的特性,可是,各大互联网公司普遍使用 Python 语言,很大程度上是由于 Python 语言开发效率高这个特色。开发效率高的语言,可以更好的知足互联网快速迭代的需求,所以,Python 语言在互联网公司使用很是普遍。
应用领域普遍: Python 语言的另外一大优势就是应用领域普遍,工程师可使用 Python 作不少的事情。例如,Web 开发、网络编程、自动化运维、Linux 系统管理、数据分析、科学计算、人工智能、机器学习等等。Python 语言介于脚本语言和系统语言之间,咱们根据须要,既能够将它当作一门脚本语言来编写脚本,也能够将它当作一个系统语言来编写服务。
毫无疑问,Python 确实有用不少的优势,每个优势看起来都很是吸引人。可是,Python 并非没有缺点的,最主要的缺点有如下几个:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------