TIOBE 2020 年 6 月份的编程语言排行榜已经出来了。
这个号称江湖兵器谱排行榜,每个月都会出炉一次,前十名几乎没有变化。
C 语言已经蝉联了 2 个月的第一,而 Java 和 Python 依然是老二和老三,市场热度常见不减。
C 语言的第一跟全球 5G 时代的到来,万物互联,工业智能化有关,因为底层的代码全部都是 C 语言编写,部分会用 C++,一起来看一下榜单:
而 Java 和 Python 两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手。
但是对于初学者来说,非常困惑,因为时间和精力有限,上手必须要先学一门,到底选那个好呢,今天 3 分钟带你透彻了解:
1.运行速度
Java 是静态语言静态编译的,速度上要比 Python 快的很多
而 Python 动态类型语言,一边执行一边编译,速度要上慢一些
2.对 Legacy 代码的支持
对于 legacy 代码的支持,由于 Java 大量的用于电商,互联网后端,银行等大型系统,所以对于 legacy 的代码的数量要远大于 Python。
而 Python 要更轻量级一些,没有那么多 legacy 的问题; 尤其是 Python3 即将全面推广,Python2 要退出历史舞台。
3.代码开发效率
Python 代码开发效率非常高,同样的函数功能,Java 需要十几行,Python 只要几行,代码数量要远小于 Java,这样开发的时间和效率比 Java 高很多。
目前为止我认为 Python 是最优美的语言。
4.数据库的支持
Java 跟数据库结合更紧密一些,有大量的数据库支持 Java,类似 JDBC、MyBatis 这样的封装,使得的 Java 使用数据库更容易。
Python 虽然没有他俩关系那么铁,但是目前支持 Python 的数据库也非常多,而且很多主流数据库 Mysql、Mongodb、Redis 都有 API 支持 Python
可以说 Python 最不缺的就是依赖库
5.应用领域
Java 主要的战场是在 Android 手机开发和 Web 后端开发,而 Python 主要应用在数据科学,机器学习,人工智能领域和 IOT
可以说两个都是各自领域的霸主,但是随着谷歌扶植 Kotlin 来取代 Java,而后端开发 Golang、NodeJS 强势崛起,所以 Java 的后端开发霸主地位正在被挑战。
6.薪资收入
月薪收入 Python 略胜一筹,主要是因为人工智能太火了,起步价都在 30k 左右,所以应届生的薪资要高于 Java。
但是对于资深工程师来说,就不一定喽,看下面的图:
6 年以上的资深工程师,明显 Java 程序员的薪资要比 Python 高一些,但是也只是略高一点点。
一个月都是 60 多 K,这个收入还是很诱人的,但是,在国内应该没有这么高
7.语法
Python 的语法应该是选胜于 Java,简洁优美,而且库非常非常多。
如果新手学 Python,学习成本和难度要低很多,这也是为啥 K12 的学生首选语言都是 Python
通过以上的比较,说说自己的心得:
综合来看,Python 是一门上手非常快,容易学的语言,如果是没有编程基础的文科生,或者是非计算机行业的理科生,学习 Python 会容易很多。
测试,运维,Devops 这些岗位,Python 开发效率应该是远胜于 Java,当然如果涉及到性能和白盒测试,Java 也是必学的
代码的开发效率,是超过 Java 很多的;效率就是金钱,可以帮助老板,帮助公司节省成本,省下很多钱。
如果是做数据分析,数据挖掘,无论是从 excel 转 Python,还是 R 语言转 Python, Python 在数据分析的领域目前也是无敌的,因为太方便了。
虽然说 R 语言是专门的数据分析语言,但是学习成本太高,通用型不强。
如果选择人工智能,机器学习,数据挖掘,Python 也是你最佳选择 。
目前人工智能领域,Python 是最通用的语言,但是 AI 领域编程语言并不是最最最核心的,算法和数学知识的运用才是根本。
而对于后端开发 Java 目前更占优势,因为 legacy 的后端市场 Java 的份额比较大Py但是对于小公司或者创业公司,后端市场 Django,NodeJS 也是非常有竞争力的
推荐阅读
1
拒绝降权!教你用 Python 确保制作的短视频独一无二
2
教你 10 分钟构建一套 RESTful API 服务( 中 )
3
教你 10 分钟构建一套 RESTful API 服务( 上 )
4
插件篇 | 再推荐 5 款私藏的优质 Chrome 插件