数百种编程语言,我为什么只学Python?

优采云 发布时间: 2022-06-18 19:06

  数百种编程语言,我为什么只学Python?

  “

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

  

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

  我想,每个人可能会根据工作要求的必然条件、兴趣爱好的充分条件,做出相应不同的选择。

  也有很多工程师在学习一门新的技术时,会担心自己所学的技术是否会越来越流行,尽量去避免学习了一个非常小众和冷门的技术。

  这种担忧是可以理解的,毕竟,一门技术使用的人越多,对于早期学习这门技术的工程师来说,就有越多的好处和优势。

  与此同时,如果学习了一门冷门的技术,不但英雄无用武之地,而且,在求职市场上也没有什么优势。

  要问我的入门编程语言选择,我首选一定是 Python,其具体原因可以引用一位网友的回答,「学完 Python,可以上天」。

  

  Python 流行度

  如果大家身处互联网,一定能够切身地感受到 Python 语言的流行程度。Python 语言由于其简单易学、语法优美、应用领域广泛等诸多优点,俘获了大批的粉丝。

  但是,拿不出确切的证据,很多开发者也无法说服自己静下心来学习,接下来我们就用数据来说话。

  编程语言排行榜

  首先,我们了解一下近期编程语言排行榜中,Python 语言排名的变化。TIOBE 每个月发布的编程语言排行榜是编程语言流行趋势的一个指标,每个月更新。

  这份排行榜排名基于互联网上有经验的工程师、课程和第三方厂商的数量,使用搜索引擎进行计算而得,一定程度上反映了编程语言的热度。

  

  2017 年 9 月 TIOBE 编程语言排行榜

  

  2017 年 10 月 TIOBE 编程语言排行榜

  

  2017 年 11 月 TIOBE 编程语言排行榜

  从近三个月的排行看,Python 一直稳定在排行榜的前五名。但编程语言排行榜仅能反应 Python 语言当下的流行程度,并不能回答 Python 是否越来越流行这个问题。

  不过,我们可以从 TIOBE 发布的历史数据中找到一些线索。在 2015 年 2 月份发布的 TIOBE 编程语言排行榜中,Python 还排在第 8 名的位置,短短两年半的时间,Python 语言已经蹿升到第 4 名,其上升速度不可谓不快。

  Google trends

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

  图 1.1 Python 的 Google 搜索指数

  图 1.1 中可以看到,从全球范围来看,Python 语言是越来越流行的,其热度超过了以往任何时候。

  从中国的搜索指数来看,Python 语言已经不是越来越流行这么简单了,而是出现了爆发式的增长。2014 年以前,Python 在中国都属于小众语言,从 2014 年开始,Python 在中国越来越火爆。

  一个有趣的事实是,在图 1.1 给出的 Python 搜索指数中,Python 在中国的搜索每年都会有一个非常明显的、向下的尖刺。

  这个尖刺所在的时间正好与春节的时间吻合,说明春节对所有中国人都是一个重要的节日,在春节期间,很少有人还在钻研技术了。

  微信搜索指数

  我们再来看一下最新发布的微信搜索指数中,Python 语言的热度如何。图 1.2 给出了Python、Java、PHP 和 Ruby 的微信搜索指数对比图。

  图 1.2 Python的微信搜索指数

  由于微信最多支持 4 个关键词进行比较,因此,我们选择了 Java、PHP、Ruby 与 Python 进行比较。

  选择 Java 是因为它是一门比 Python 使用更加广泛的编程语言;选择 PHP 是因为它被认为是“世界上最好的”编程语言;选择 Ruby 是因为,它是所有编程语言中,与 Python 定位最接近的编程语言。

  从图中可以看出,Python 语言和 Java 语言的微信搜索指数遥遥领先,并且,Python 语言的微信搜索指数比 Java 语言还要略高一点。

  基于以上的编程语言排行榜、Google 搜索指数和微信搜索指数这几个不同的数据来源,检视了 Python 语言的流行程度。

  现在,我们可以非常明确的得出一个结论——Python 语言越来越流行,而且现在非常火。

  为什么 Python 语言会越来越流行

  原因诸多,例如:

  但是,笔者认为,Python 语言之所以越来越流行,使用越来越广泛,主要还是得益于其自身的诸多优点。对 Python 的爱与恨,可以归集到那些不得不说的优缺点:

  显著的优点

  Python 语言拥有诸多的优点,以下几个优点特别显著:

  不可忽视的缺点

  Python 并不是没有缺点的,最主要的缺点有以下几个:

  Python 如何上手?

  了解了 Python 的整体趋势及优缺点,接下来自然是如何学习 Python?

  在此笔者的建议是:

  

  运维要不要追赶 Python 的热潮?

  Python 这么热,运维要不要追赶 Python 的热潮?现阶段,掌握一门开发语言已经成为高级运维工程师的必备技能。

  不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试、优化开发人员开发的程序,因为开发人员有的时候很少关注性能的问题。

  这些问题就得运维人员来做,一个业务上线了,导致 CPU 使用过高,内存占用过大,如果你不会开发,你可能只能查到进程级别,也就是哪个进程占用这么多,然后呢? 然后就交给开发人员处理了,这样怎么体现你的价值?

  其次,不会一门开发语言的运维,你就不能自己写运维平台复杂的运维工具,一切要借助于找一些开源软件拼拼凑凑。

  如果是这样,那就请不要抱怨你的工资低,你的工作不受重视了,话说人家 FaceBook 一个运维工程师管 2 万台机器,运维工程师年薪十几万 USD,你以为人家是盖的呢? 哪个不是身怀绝技,开发运维兼备?

  Python 可以用来做什么

  在我看来,基本上可以不负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是 Web 程序开发、桌面程序开发还是科学计算、图像处理,Python 都可以胜任。

  或许是因为这种万能属性,周围好更多的小伙伴都开始学习 Python。Python 现在到底有多热呢?我觉得我们可以看以下的这 2 组数据。

  Python 排名稳居前五

  如上文的 Python 排行,不多说,得益于 Python 在多个领域的应用都在逐渐变热,Python 在 TIOBE 榜上已经是稳居前 5 了。

  越来越多的公司在用 Python 做网站

  除了大家熟悉的知乎、豆瓣,已经有越来越多的公司开始用 Python 来快速搭建网站产品。相应的,也有越来越多的公司开设了 Python Web 的职位。

  

  根据我们的统计,目前在招的 Python Web 职位,所需技能按优先级中,Python 基础和 Django 的优先级是最高的。

  具体的排序,大致可以参考以下的这张图表:

  

  运维为什么要用 Python

  Good question!!!为什么不用 PHP,JAVA, C++,Ruby?

  这里我只能说,见人见智, 如果你碰巧已经掌握了除 Python 之外的其他语言,那你爱用啥用啥,如果你是一个连 Shell 都还没写明白的新手,想学个语言的话,请用 Python,为什么呢?

  首先,PHP 是跟 Python 比的最多的,其实他俩根本就不用比,为什么呢? 两个语言适用性不同,PHP 主要适用于 Web 开发,可以迅速的做出中小型,轻量级的 Web网站。

  但后端嘛,基本还是要借助其它语言,借助什么语言呢?Shell?Python?呵呵。而 Python 呢,是个综合语言,前后端都可以,单拿出来比 Web,也一点不比 PHP 差,但为什么 Web 方向上 PHP 比 Python 要火?

  先入为主嘛,PHP 90 年代诞生就是做 Web 的,Python 2000 年后才出现 Web 框架,但论优秀程度上,Python 的 Web 框架基本上出其无左,至少是跟 PHP 比。

  搞个运维小平台,用 Java真心没啥必要,在我看来,Java就是稳定的中年男人,稳定、成熟、秃顶,而 Python 代表的就是青春,简洁、快、干净、帅!

  C++/C,这个嘛,我只能说,如果你会了 Python,又会 C 的话,那你会更吃香,但是不会 C 的话,其实也无大碍。但对新手来讲,不建议把 C 做为第一门语言开始学习,为什么呢?打击自信心…呵呵,你懂的。

  Ruby,日本开发的,还不错,风格跟 Python 有点像,因为 Ruby on rails 出了名,国外用的比较多,国内,放心吧!没戏,Python 已经把它的想象空间都占死了。

  当然还有新的语言 GO,有些搞运维的看见做开发的人员搞 GO,也想凑热闹,觉得是未来,我想说,别没事跟风,GO 再成功,也不会变成运维开发语言。

  一个博士讲过一句话,他说:程序效率高低,80% 都是写程序的人决定了,语言本身就占 20%。

  所以下次有人再说 Python 效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。

  这个博士自己用 Python 写的 Web程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么 Web框架这么牛 B?别问它是谁,它叫 tornado。

  在选择使用哪一门编程语言之前,我还想提醒读者的是——“世界上只有两种编程语言,一种是天天被人吐槽但却被广泛使用的编程语言,一种则是无人问津没有存在感的编程语言”。

  Python 语言作为排名第一的动态类型语言,自然有它的道理。如果我们充分了解它的优缺点,在使用的时候,取其精华去其糟粕,那么,Python 一定是工程师解决问题的一把利剑。

  最后给大家推荐 51CTO 学院为您精选的Python免费试学课程

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线