Time will tell.

如果让你从数百种的编程语言中选择一个入门语言?你会选择哪一个?

是应用率最高、长期霸占排行榜的常青藤 Java?
是易于上手,难以精通的 C?
还是在游戏和工具领域仍占主流地位的 C++?
亦或是占据 Windows 桌面应用程序半壁江山的 C#?

我想,每个人可能会根据工作要求的必然条件、兴趣爱好的充分条件,做出相应不同的选择。也有很多工程师在学习一门新的技术时,都会担心自己所学的技术是否会越来越流行,尽量去避免学习了一个非常小众和冷门的技术。

这种担忧是可以理解的,毕竟一门技术使用的人越多,对于早期学习这门技术的工程师来说,就有越多的好处和优势。与此同时,如果学习了一门冷门的技术,不但英雄无用武之地,而且,在求职市场上也没有什么优势。要问我的入门编程语言选择,我首选一定是 Python,其具体原因可以引用一位网友的回答,「学完 Python,可以上天」。


如果大家身处互联网,一定能够切身地感受到 Python 语言的流行程度。Python 语言由于其简单易学、语法优美、应用领域广泛等诸多优点,俘获了大批的粉丝。但是,拿不出确切的证据,很多开发者也无法说服自己静下心来学习。接下来我们就用数据来说话。




Python 一直稳定在排行榜的前五名。但编程语言排行榜仅能反应 Python 语言当下的流行程度,并不能回答 Python 是否越来越流行这个问题。不过,我们可以从 TIOBE 发布的历史数据中找到一些线索。在 2015 年 2 月份发布的 TIOBE 编程语言排行榜中,Python 还排在第 8 名的位置,短短两年半的时间,Python 语言已经蹿升到第 4 名,其上升速度不可谓不快。

既然 TIOBE 的编程语言排行榜是根据搜索引擎得到的数据,那么,我们也可以通过搜索引擎得到 Python 的搜索指数,通过搜索指数来查看 Python 语言热度的变化。下图给出了最近几年,Python 这个关键词的 Google 搜索指数。


从中可以看到,从全球范围来看,Python 语言是越来越流行的,其热度超过了以往任何时候。从中国的搜索指数来看,Python 语言已经不是越来越流行这么简单了,而是出现了爆发式的增长。

2014 年以前,Python 在中国都属于小众语言,从 2014 年开始,Python 在中国越来越火爆。一个有趣的事实是,在图中给出的 Python 搜索指数中,Python 在中国的搜索每年都会有一个非常明显的、向下的尖刺。这个尖刺所在的时间正好与春节的时间吻合,说明春节对所有中国人都是一个重要的节日,在春节期间,很少有人还在专研技术了。

我们再来看一下最新发布的微信搜索指数中,Python 语言的热度如何。下图给出了 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 语言拥有诸多的优点,这其中,以下几个优点特别显著:

  1. 简单易学:Python 语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是因为 Python 语言简单易学,所以,已经有越来越多的初学者选择 Python 语言作为编程的入门语言。例如,在浙江省 2017 年高中信息技术改革中,《算法与程序设计》课程将使用 Python 语言替换原有的 VB 语言。
  2. 语法优美:Python 语言力求代码简洁、优美。在 Python 语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的 Python 程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。
  3. 丰富强大的库:Python 语言号称自带电池(Battery Included),寓意是 Python 语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有相应的开源项目提供了类似的功能。合理使用 Python 的类库和开源项目,能够快速的实现功能,满足业务需求。
  4. 开发效率高:Python 的各个优点是相辅相成的。例如,Python 语言因为有了丰富强大的类库,所以,Python 的开发效率能够显著提高。相对于 C、C++ 和 Java 等编译语言,Python 开发者的效率提高了数倍。实现相同的功能,Python 代码的文件往往只有 C、C++ 和 Java 代码的 1/5~1/3。虽然 Python 语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用 Python 语言,很大程度上是因为 Python 语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python 语言在互联网公司使用非常广泛。
  5. 应用领域广泛:Python 语言的另一大优点就是应用领域广泛,工程师可以使用 Python 做很多的事情。例如,Web 开发、网络编程、自动化运维、Linux 系统管理、数据分析、科学计算、人工智能、机器学习等等。Python 语言介于脚本语言和系统语言之间,我们根据需要,既可以将它当做一门脚本语言来编写脚本,也可以将它当做一个系统语言来编写服务。

不可忽视的缺点

毫无疑问,Python 的每一个优点看起来都非常吸引人。但 Python 并不是没有缺点的,最主要缺点有以下:

  1. Python 的执行速度不够快。其实这也不是一个很严重的问题。一般情况下,我们不会拿 Python 语言与 C/C++ 这样的语言进行直接比较。在 Python 语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分 Python 本身消耗的时间;另一方面,因为 Python 特别容易和 C 结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用 Python 脚本将这部分应用连接起来,以提高程序的整体效率。
  2. Python 的 GIL 锁限制并发:Python 的另一个大问题是,对多处理器支持不好。如果读者接触 Python 时间比较长,那么,一定听说过 GIL 这个词。GIL 是指 Python 全局解释器锁(Global Interpreter Lock),当 Python 的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的 Python 实现来运行我们的程序。
  3. Python 2 与 Python 3 不兼容:如果一个普通的软件或者库,不能够做到后向兼容,那么,它会被用户无情的抛弃了。在 Python 中,一个槽点是 Python 2 与 Python 3 不兼容。因为 Python 没有向后兼容,给所有的 Python 工程师带来了无数的烦恼。

如何上手?

了解了 Python 的整体趋势及优缺点,接下来自然是如何学习 Python?在此笔者的建议是:

  • 找一本浅显易懂比较好的教程,无须多种选择,仅精选一本,从头到尾看完。将教程中的案例自己亲手实践一遍。
  • 通过实际项目练手。如果仅是纸上谈兵,可能过目就忘,所以最好是要有真实的项目做。注意,真实项目不一定非要是商业项目,例如自己动手搭建网站,其关键是要核心功能完整。
  • 最好能找到一个已经会 Python 的人。问他一点学习规划的建议,然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。


好了,以上内容就分享到这,如果你对更多内容、Python自动化软件测试、面试题感兴趣的话可以加入我们175317069一起学习。群里会有各项测试学习资源发放,更有行业深潜多年的技术人分析讲解。

欢迎【点赞】、【评论】、【关注】~

Time will tell.(时间会证明一切)

编程语言千千万,为何Python占一半?相关推荐

  1. 陪玩MM千千万,谁是你的NO.1?使用Python获取陪玩照片进行颜值检测打分

    陪玩MM千千万,谁是你的NO.1?使用Python获取陪玩照片进行颜值检测打分 序言 工欲善其事,必先利其器 1.数据来源分析 2.实现步骤 3.环境与模块 代码展示 序言 哈喽好兄弟们~ 咱们这几年 ...

  2. 千锋人工智能python培训班

    人工智能的火热,促使了越来越多的人学习Python,为了.快速的学习,大多数人都会选择参加Python培训班.那么,参加成都Python编程培训班学费贵不贵?成都Python编程培训费用具体是多少?相 ...

  3. python字符串索引局部变量_4. 列表一学完,Python 会一半,滚雪球学 Python【七日打卡】...

    滚雪球学 Python,目标就是让 Python 学起来之后,越滚越大. 本系列文章将在2021年春节前完成,欢迎关注,点赞,评论 --- 梦想橡皮擦 四.列表一学完,Python 会一半 4.1 列 ...

  4. 技术界25位最出类拔萃单身男女-女性占一半

    技术界25位最出类拔萃单身男女-女性占一半 技术界25位最出类拔萃单身男女 科技界中有着一群炙手可热的单身男女.他们天资聪颖.魅力四射.事业有成,而且亮点在于,他们依然单身. 姓名:Jeremy St ...

  5. 千峰教育 python培训学费

    众所周知,Python是人工智能时代的首选语言,近两年人工智能的兴起让Python一度成为最受欢迎的编程语言之一.想要学习Python的人也越来越多,那么成都Python培训学费多少?是很多初学Pyt ...

  6. 千峰培训 python

    人工智能时代的到来,很多文章说这么一句:"不会Python,就不要说自己是程序员".这说的有点夸张了,但确实目前Python这个语言值得学习,而且会Python是程序员涨薪的必备技 ...

  7. php和python区别-编程语言之PHP与Python之间的差异

    原标题:编程语言之PHP与Python之间的差异 PHP语言 PHP:超文本预处理器,是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域. ...

  8. python编程语言是什么-什么是编程语言,什么是Python解释器

    转自白月黑羽python在线教程:http://www.python3.vip/doc/blog/python/2018071401/ 0基础学Python之1:什么是编程语言,什么是Python解释 ...

  9. 尚硅谷spring和spring boot笔记_手机标准内存达12G,比笔记本电脑还高!可为何系统总能占一半?...

    阅读本文前,请您先点击上面的蓝字,再点击"关注",这样您就可以免费收到最新内容了.每天都有分享,完全是免费订阅,请放心关注.1111111111111111111111111111 ...

最新文章

  1. 北京实习总结——记住牛人那些话
  2. 2.1 Objective-C概述
  3. 回溯算法-03八皇后问题
  4. 如何用firebug调试js
  5. html 游戏首页,30个让人玩上瘾的HTML5游戏
  6. bzoj 3824: [Usaco2014 Dec]Guard Mark【状压dp】
  7. Codeforces 702B【二分】
  8. verlay虚拟化技术_Overlay 网络技术,最想解决什么问题?
  9. 一只潜力十足的专业电竞游戏鼠标——HyperX巨浪RGB电竞鼠标
  10. VirtualBox虚拟机安装MSDOS和MINIX2.0.0双系统
  11. 多个视频ts文件合并
  12. python输入月份判断天数用函数的方法,python 月份天数
  13. 语句摘抄——第11周
  14. 移动APP基于支付宝支付实现用户提现功能
  15. java作业分工_团队作业(三):确定分工
  16. github.com连接超时 ping不通
  17. 《窃听风云》中手机在关机情况下被监听是真的吗?
  18. 【狂神说】Redis
  19. 蓝牙协议系列之(五) ATT
  20. Macromedia FlashPaper 2的安装方法(XP和Win7)

热门文章

  1. flink学习(6)之sink
  2. 数据结构排序算法——选择排序(简单选择排序)
  3. coverage 测试代码覆盖率
  4. core image几个滤镜例子 oc版本和swift版本
  5. 携程新一轮高管调整:熊星兼任首席技术官
  6. 达梦查询一周内,一月内,一年内的数据
  7. 中南大学杰出校友_杰出PHP社区成员的工作流程是什么?
  8. html页面加载触发的事件,jquery页面加载触发onchange事件
  9. 美国设计师Aaron的Logo设计欣赏
  10. 如何使用chatgpt写文章