专栏名称: 程序员技术
最有影响力的程序员自媒体,关注程序员相关话题:程序人生、IT技术、IT职场、学习资源等。
目录
相关文章推荐
程序猿  ·  漫画 | ... ·  2 天前  
OSC开源社区  ·  Runway ... ·  4 天前  
待字闺中  ·  AI 编程-工具篇 ·  6 天前  
51好读  ›  专栏  ›  程序员技术

Java从来不死 PYTHON活跃上升

程序员技术  · 公众号  · 程序员  · 2017-05-17 19:58

正文

Java火了以后Java将死的言论时不时的就会死灰复燃无聊的跳出来蹦跶几圈,但现实总会给这样的言论啪啪打脸。前不久传出消息Java 9又延期,甲骨文怒杠上IBM和Red Hat。可是,随着数据挖掘、机器学习、AI等热门技术的流行,Python越来越受欢迎了,那么,Python会比Java更受欢迎吗?


根据现在的IT编程趋势,从作业数量、Java开发人员数量和IT行业的整体使用数据这几个方面来看,现在Java是最受欢迎的编程语言。根据某个技术调查网站发布的最新使用统计数据来看,有3.0%的网站使用Java作为服务器端的编程语言,而使用Python的只有0.2%。但是,最近所有报告都强调:对比Java,Python的使用率和受欢迎程度持续快速增长,Java的使用率已经连续好几年都在下降。


据myTectra统计,从2013年就开始关注Python和Java,数据来源于Naurki对Bangalore地区2013年以来发布的作业数量。从下表中可以看到对Java的需求连续几年都在减少,而对Python的需求连续增长,2014年为200,到2017年已高于6500。

从Indeed作业发布的统计数据来看,Python是持续增长的唯一编程语言,而Java却在大幅下降。



所以,让程序员了解这两种流行的编程语言之间的主要区别还是很有必要的。


Java和Python之间的区别


二者都是通用的编程语言。Java是静态语言,需要显示声明所有的变量名;而Python是动态语言,无需显示声明变量名。


在一般编程任务中,Java要求开发人员把代码行写得比较长。还要另外花时间来组织、维护和更新Java代码库。而短小精悍的Python句法让开发人员可以轻松表达概念。这进一步强调了代码生成的可重用性和可读性。因此,程序员在维护和更新代码库就更容易了。两种语言都是定期更新的。程序员可以用Java 8来获得一些新功能,包括lambda表达式、新的日期/时间接口和一些新功能的接口。更可喜的是,开发者可以轻易地从版本7切换到版本8。但要在Python 2.x和Python 3.x之间作出抉择就不太容易了。这两个版本是平行维护的,因此在两个版本之间切换不太容易。


Java让程序员更容易创建轻便的跨平台应用。这些应用可以在安装了JVM的任何设备上使用。另一方面,开发人员需要使用Python编译器来将Python写的代码转换成特定操作系统可读的代码。因为很多设备上都有安装JVM,开发人员可以在多种设备上运行Java写的应用,无需特定工具和编译器。


两种编程语言的性能和速度有所不同。许多程序员都说Java比Python快。Python不能用于处理CPU密集的任务,但开发人员通常会有很多办法来提高Python的执行速度。他们得用CPython、PyPy或Cython来弥补Cython的固有运行时间,大大提高执行速度。而Java无需借助其他工具就能轻易优化性能。


除了作为流行的Web技术,Java还被广泛用于开发全球最受欢迎的手机操作系统,也就是安卓。安卓的SDK包含了许多标准Java库。开发人员利用网络系统、数据结构、图表算法和数学程序库,很容易就能创建一个安卓应用。他们还可以利用各种工具和框架加快安卓应用的研发。但用过Python做开发的人都知道,不能只用Python一种语言来开发手机应用。开发人员必须使用一些框架和工具来开发手机应用。许多程序员更喜欢用Java来开发手机应用,因为省时省力。


Python越来越受欢迎及其用户数量每年都大幅增长的原因在于Python逐渐成为所有流行IT技术的首选语言。几乎所有的IT领域,包括Web研发、云计算(AWS、OpenStack、VMware、Google云、Oracle云等)、基础设施自动化、软件测试、移动端测试、大数据和Hadoop、数据科学等,都将Python作为首选的编程语言。东时Python+人工智能课程体系,人脸识别,智能问答,指纹识别,远程身份认证,全新企业开发项目,让学员走在科技最前沿。


来自:互联网


推荐程序员必备微信号 


程序员大咖
微信号:CodePush



推荐理由:
为程序员提供最优质的博文、最精彩的讨论、最实用的开发资源;提供最新最全的编程学习资料:PHP、Objective-C、Java、Swift、C/C++函数库、.NET Framework类库、J2SE API等等。并不定期奉送各种福利。


 ▼长按下方↓↓↓二维码识别关注