技术资讯

Python 杠上 Java、C/C++,赢面有几成?

TIME:2018-04-14

毫不客气地说,Python 是最有价值和最具潜力的编程语言——即使和三位大佬相比。


作为“最容易学习”的胶水语言,Python 的技术优势不必多言。无论是从入门级到专业级开发者都在做的爬虫,抑或是 Web 程序开发、桌面程序开发乃至科学计算、图像处理,万能属性的 Python 在编程开发中可以说是大杀四方,几乎都可以轻松胜任。

作为通用编程语言,Python 更胜一筹?

近年来,Python 更是横扫了各大语言排行榜。在 2017 年世界脚本语言排行榜中,Python 强势登顶;在 TIOBE 编程语言排行榜中,Python 地位也在逐月攀升,越来越受广大开发者的欢迎。对比长盛不衰的 Java、C、C++,后起之秀 Python 更是以易学、易用深受好评。

编程语言 优势 劣势
Python 简单易学,能够把用其他语言制作的各种模块很轻松地联结在一起。 速度较慢,且有一些特定情况下才会出现(无法重现)的 bug
C/C++ C/C++ 可以被嵌入任何现代处理器中,几乎所有操作系统都支持 C/C++,跨平台性非常好 学习难度大,且拥有大量极为复杂的功能交互方式,容易造成资源浪费
Java 世界上使用范围最广的语言 Java 占用大量内存,并且启动时间较长
C# 全面集成.Net 库,提供出色的功能与完美的库访问能力 跨平台能力太差,且在国内就业环境不太好,收入较低
JavaScript 学习难度低,并且掌握了 JavaScript 语言就等于成为能同时开发网页、后台、移动端的全栈工程师 过于依赖浏览器,且代码在用户电脑上运行,容易被别有用心的坏人恶意利用
SQL 开发速度快,安全性好 SQL 开发速度是靠牺牲运行速度换来的,且可移植性极差
PHP 社区庞大而活跃,易于快速上手 运行速度慢,且错误处理机制比较糟糕,需要支持大量旧版本的功能
Objective-C 拥有丰富的工具和库 拥有自己独特的编程思路,与其他编程语言思路差别较大
Swift Swift 在 iOS 和 OS X 软件中占的代码比例越来越多 版本更迭太快,不同版本差别过大
Kotlin 和 Java 的互操作性极佳 继承了 Java 劣势内容


同样作为通用编程语言,不可避免要分出个一二三四来。那么 Java、C、C++ 以及 Python 比起来,谁能独领风骚?谁又略输一筹?

2017 年,JetBrains 曾综合了 Stackoverflow、TIOBE、GitHub、Reddit 等平台的开发人员数据,调查得出了在全球范围内,各个编程语言的使用者分别有多少。调查称,全球大约有 440 万 C++ 程序员,190 万 C 程序员,900 万 Java 程序员,以及 400 万 Python 程序员。虽然数据不一定准确,但是通过对比,还是能发现一些情况的。它们之间,Java 作为老大,无疑拥有最广泛的开发人员和社区,但是 Python 却也能直接超过元老 C++ 和 C,独自成为一大阵容。在 TIOBE 4 月编程语言排行榜中,Python 也紧随 Java、C、C++ 之后,在开发者最喜爱的编程语言中位居第四名。那么多的编程语言,Python 能在站稳榜单前十名,其实也证明了自身的潜力和价值。

虽然目前来讲,Java 语言仍然傲视群雄,但是通过以上的对比可以发现,即使与 Java、C、C++ 这三个老牌语言相比,Python 也显得游刃有余,甚至隐隐有后来居上的意味。

当然,很多人会说 Python 也不是完美的,它还有一些缺点,比如速度慢,还有比如强制缩进、单行语句等编程限制。Python 是解释型语言,所有它的速度会比 C、C++ 慢一些,但是不影响使用,而且现在的硬件配置都非常高,基本上没有影响。关于强制缩进、单行语句等编程限制,如果开发者有其他语言的编程经验会不太习惯,但是习惯了之后会觉得 Python 十分优雅。

Python 具有丰富的应用场景:谷歌、腾讯、Facebook······

那么 Python 具体可以应用于哪些方向?全栈开发、网络爬虫、数据挖掘、人工智能、Web 开发、系统网络运维、数据分析和计算、图形程序开发等方向的工作不一而足。

随着 Python 进入小学课本、Python 进入浙江省高考、国务院发布《新一代人工智能发展规划的通知》等新闻的不断出现,Python 的这股火越来越热。未来,随着大数据和人工时代的来临,凭借语法简洁、功能强大,且在人工智能、大数据方面展现出效率优势,Python 的头牌地位只会坐得更稳。

大势所趋之下,目前,很多科技公司都在应用 Python 语言。比如在谷歌,有谷歌爬虫、谷歌广告、Google App Engine、Googleearth 等;在腾讯,有基于 Python 开发的蓝鲸游戏运维平台;而 YouTube,即是使用 Python 语言开发的;在 Facebook,有大量的基础库均是通过 Python 实现的......我们之前也分享过许多利用 Python 实现的功能应用,比如利用 Python 爬取网页制作电子书用 Python 编写 Face ID 破解 iPhone X用 Python 快速实现区块链等等。

这种情况下,Python 方向岗位的人才需求和薪资待遇自然也在水涨船高。

上一篇

【转】浅谈对协程的理解

下一篇

c#中关于Show()里面的参数 都有些什么 干什么用的?