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的问题。尤其是Py3即将全面推广,Py2要退出历史舞台。
3.代码开发效率
Python代码开发效率非常高,同样的函数功能,Java需要十几行,Python只要几行,代码数量要远小于Java,这样开发的时间和效率比Java高很多。目前为止我认为Python是最优美的语言。
4.数据库的支持
Java跟数据库结合更紧密一些,有大量的数据库支持Java,类似JDBC这样的封装,使得的Java使用数据库更容易。
Python虽然没有他俩关系那么铁,但是目前支持Python的数据库也非常多,而且很多主流数据库SQL,Mongodb,Redis都有API支持Python, 可以说Python最不缺的就是库。
5.应用领域
Java主要的战场是在Android手机开发和Web后端开发,而Python主要应用在数据科学,机器学习,人工智能领域和IOT。
可以说两个都是各自领域的霸主,但是随着谷歌扶植Kotlin来取代Java,而后端开发NodeJS强势崛起,所以Java的后端开发霸主地位正在被挑战。
6.薪资收入
月薪收入Python略胜一筹,主要是因为人工智能太火了,起步价都在30k左右,所以应届生的薪资要高于Java。但是对于资深工程师来说,就不一定喽,看下面的图:
6年以上的资深工程师,明显Java程序员的薪资要比Python高一些,但是也只是略高一点点。哇一个月都是60多K,这个收入还是很诱人的,国内应该没有这么高。
7.语法
Python的语法应该是选胜于Java,简洁优美,而且库非常非常多。如果上手学Python,学习成本和难度要低很多,这也是为啥K12的学生首选语言都是Python.
通过以上的比较,小编也说说自己的心得:
综合来看,Python是一门上手非常快,容易学的语言,如果是没有编程基础的文科生,或者是非计算机行业的理科生,学习Python会容易很多。
大家知道研发岗位分开发和测试,如果是做测试的同学,毫无疑问必须要学Python。测试,运维,Devops这些岗位Python应该是远胜于Java。代码的开发效率,是超过Java很多的。效率就是金钱,可以帮助老板,帮助公司节省成本,省下很多钱。
如果是做数据分析,数据挖掘,无论是从excel转Python,还是R语言转Python,Python在数据分析的领域目前也是无敌的,因为太方便了。虽然说R语言是专门的数据分析语言,但是学习成本太高,通用型不强。
如果选择人工智能,机器学习,数据挖掘,Python也是你最佳选择。目前人工智能领域,Python是最通用的语言,但是AI领域编程语言并不是最最最核心的,算法和数学知识的运用才是根本。
而对于后端开发Java目前更占优势,因为legacy的后端市场java的份额比较大,但是对于小公司或者创业公司,后端市场Django,NodeJS也是非常有竞争力的。