执行效率太低又怎样?Python 照样火过 Java、C/C+

关键时刻,第一时间送达!

世界上有成百上千种编程语言,时代更迭下不断有新的语言产生和消亡,但 Java 的江湖地位始终无人撼动,长期霸占排行榜榜首。

但是近年来,Python 显露出越来越猛的进攻趋势,更似有反超 Java 之意。

2011 - 2017 年 Python vs Java 搜索指数逐渐靠拢且不断赶超,图片来源于网络

之前的《不止 20K,Python 工程师薪资再飙升》一文中就阐述了目前市场上 Python 岗位的火爆情况。一方面市场需求不断上涨,据最新的招聘网站数据统计,平均每月招聘人数需求达12331 人,10 月的招聘旺季更高达 20600 人,招聘地区也以北、上、深、杭、广等一线城市为主。另一方面,Python 工程师的薪资水准也持续攀升,在全国范围内月薪以 20K - 30 K 居多,当然相应地对工作经验和学历也有要求,工作 3- 5 年的本科学历人员最受欢迎。

显而易见,大火的 Python 是一个新的时代「风口」。

然而比起 Python,市场上明明还有很多更为高效、易用的编程语言:前有应用率最高、长期霸占排行榜的常青藤 Java,后有易于上手的 C,还有在游戏和工具领域占主流地位的 C++,以及占据 Windows 桌面应用程序半壁江山的 C# 等等。相较而言,Python 具有执行速度不够快、GIL 锁限制并发、版本间不能很好的兼容等缺陷。

那么为什么近年来 Python 能够突破重围、突然火起来了?

其一,简单易学且生态开放的 Python 很容易上手。

大多数人都相信“最好的编程语言”是取决于具体领域的,因为每种语言都有自身的优缺点,没有例外,比如 Java 的体型臃肿、语法冗长一直被大量的开发者所诟病,C 语言极大依赖于程序员本身的驾驭能力,C++语法复杂对开发者很不友好,C# 缺乏生态支持后续乏力......至少目前,还没有任何一门语言能完美满足所有需求特性。

Python 的执行速度慢是不可避免的。作为一门脚本语言,它自然会比那些需要编译为可执行程序的语言要慢一些,因为在执行的过程中需要解析器参与,一边解析一边执行——这是脚本语言的通病。但在现代计算机的硬件配置下,Python 的运行速度和一些快速语言已经越来越近了。而且瑕不掩瑜, Python 不仅不需要浪费太多时间做一些定义和强制转换变量类型的常规工作,还有大量免费的库供使用,无需“重新发明轮子”,各种 Web 框架、爬虫框架、数据分析框架、机器学习框架可以拿来即用。此外它与 C / C ++ 等代码之间可以进行简单的绑定,这就意味着复杂代码部分的性能可以植入这些语言,能够避免带来性能损失。

目前, 越来越多的工程师使用 Python 进行大数据处理,科研工作者开始使用 Python 来进行数据分析,系统管理员使用 Python 管理 Linux 系统,开源的云计算平台 OpenStack 使用 Python 语言开发,很多编程爱好者使用 Python 进行爬虫等......Python 已经逐步在网络爬虫、数据分析、AI、机器学习、Web开发、金融、运维、测试等多个领域扎根壮大。

谷歌搜索结果显示的 Python 应用领域占比,图片来源于网络

其二,人工智能的爆发为 Python 的流行大大地添了一把火。

在机器学习领域,Python 是 ROS(机器人操作系统) 的两大主要编程语言之一。对于机器学习算法而言,重要的是算法能够快速构建、代码阅读性好、维护简单、上手容易,Python 能够很好地满足这些需求。而且作为一门胶水语言,很多算法都会提供一个 Python 接口,底层仍然用更为快速的语言来实现,所以 Python 的角色主要在数据预处理、数据展示、算法定义等方面,这些动作所花费的机器执行时间几乎可以忽略不计。

所以开发者需要把握「风口」,积极进阶

简单易学、语法优美、丰富强大的库、开发效率高、应用领域广泛等等,这些特性促使 Python 的入门和学习需求越来越强烈。以下整理了一些入门&应用级别的技术文章,可供学习使用。

入门级

应用级

写在最后

作为一门开放性语言,Python 维护者众多,加之近些年出现了好多实用的框架,因此越来越深受广大开发者的喜欢。但是如果想吃螃蟹,编程语言仅仅只是吃螃蟹的工具而已,能否捉到螃蟹还要依赖于你本身的知识和其它技能。

所以,人生苦短,来用 Python 吧。

本文来自企鹅号 - CSDN媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Y大宽

4 翻转课堂的设计及步骤(含慕课和视频制作)

总分总的格式 总体框架 话题导入,图片或视频 知识讲解 图片内容 模板应用

793
来自专栏企鹅号快讯

苹果公开Turi Create框架:推动机器学习

威锋网 12 月 9 日消息,苹果公司本周在开源项目托管平台 GitHub 上分享了 Turi Create 的框架。苹果表示,这一框架应该会让开发者更容易构建...

1738
来自专栏BestSDK

不会视觉设计?那你就学学这5个色彩技巧吧

色彩几乎是所有设计体系中不可忽略的组成部分,而在网页设计中,色彩本身所发挥的作用并不单一,除了最基本的着色构成色彩搭配的作用之外,色彩能够通过对比创造视觉焦点,...

2774
来自专栏AI研习社

OpenAI 发布完整版游戏强化学习研究平台 Gym Retro

我们发布了用于游戏研究的强化学习平台完整版 Gym Retro,支持的游戏从大约 70 多个雅达利和 30 多个世嘉游戏扩展到各种仿真器支持的 1000 多个游...

1003
来自专栏牛客网

Keep算法岗娱乐面面经

之前看到牛客有人发Keep内推贴,因为一直对Keep比较有好感于是马上内推了一波,笔试只a了1题居然进了面试,本来约的上周四,我说没时间可不可以周末,电话对面说...

551
来自专栏Crossin的编程教室

工作15年码农总结:学编程难吗?那只是你觉得难!

从2003年写下第一行PHP代码开始,编程就成为了他生活的日常。而他的人生履历,也与编程紧密切合。

732
来自专栏程序员宝库

数据 | 基于 Python 分析微信好友数据

最近微信迎来了一次重要的更新,允许用户对"发现"页面进行定制。不知道从什么时候开始,微信朋友圈变得越来越复杂,当越来越多的人选择"仅展示最近三天的朋友圈",大概...

994
来自专栏华章科技

IEEE发布2017年编程语言排行榜:Python高居首位,PHP第八

IEEE Spectrum 发布的编程语言交互式排行榜能让读者自己选择参数组合时的权重,从而个性化定义自己关注的排行。IEEE Spectrum 的排行榜根据读...

761
来自专栏老九学堂

【必读】每位程序员职业生涯必读书单

很多小伙伴都在问,要成为一个更好的开发人员,我应该读哪些书?我真的需要读书吗? 这是一个很值得探讨的问题,而且很多人推荐的是不同主题的不同书籍。 他们推荐的书在...

3404
来自专栏杨熹的专栏

思考力|《零秒思考》

遇到问题,有些人能够瞬间给出解决方案,有些人却要很多时间去思考。 这本书可以帮助训练思考力。 本文结构: 1. 方法操作 2. 掌握关键点是什么 3. ...

3576

扫码关注云+社区