.

中国专业开发者最多,最受Web服务青睐,

来源

JetBrains官博

译者责编

夕颜

今年,Java已经25岁“高龄”了,再次创下辉煌的里程碑。最近,JetBrains深入研究数据,全面透彻地分析了Java开发现状,并尝试解答一些关于Java最常见的疑问。调查结果有些在意料之中,但也有一些结果让人感到意外。

上周Java15发布,本调查结合了Java的最新发布,并根据不同来源的数据创建,包括来自JetBrains的开发倡导者TrishaGee的专业评论。

Java用户主要来自亚洲

根据市场研究和分析团队开发人员的估计模型数据显示,目前全球有大约万专业Java开发人员将Java作为主要语言。但是,如果把主要使用其他编程语言,但同时也使用Java的专业开发者囊括进去,那么这个数字可能接近万。

另外,来自亚洲的Java开发者数量最多,大约有万开发者把Java作为主要语言。北美和欧洲的Java用户远不及亚洲。你可能会问,为什么?

Java开发者地域分布:中国排名第一

我们更深入地研究了Java开发人员最多的国家分布,并调查了为什么这些国家在专业开发方面偏爱Java而不是其他语言。

下图展示了每个国家将Java作为主要语言的开发者的百分比(调查对象在问卷中最多可以选择3种主要语言)。中国和韩国的比例最高,分别为51%和50%。

专家分析

Java在占比前6的国家中如此受欢迎的原因包括Java免费使用、政府支持和开源,尤其是在中国、西班牙和巴西。在中国和印度,Java是进行Android移动开发的基础语言,且雇用国外员工用Java开发电话类应用程序非常普遍,这可能是印度使用Java较多的原因。德国开发者将Java作为主要语言的比例也很高,这可以归因于Java是德国软件工程师最喜欢的语言,并大规模用于众多工业应用开发。大多数企业服务都依靠Java来支持日常业务运行的应用程序,如工资单、库存管理、报告等。德国还有一个庞大的金融部门,Java大量用于本土科技产业,如交易机器人、零售银行系统,以及金融业为了保持竞争力而需要的其他应用程序。

我们可能会认为美国的Java用户比例很高,但是从很多方面讲,事实并非如此。美国有大量的技术堆栈可供选择,而且很多技术公司通常掌握堆栈的最前沿技术,因此那里的开发人员可能并不需要Java的功能或稳定性,而是用可以让他们快速进行开发和测试的语言。

行业洞见:三分之一专业开发者将Java用作主要语言

根据年开发人员生态系统状况调查显示,超过三分之一的专业开发人员将Java用作主要语言,且Java仍然是仅次于JavaScript的专业开发人员使用的第二大语言。

专家分析

JavaScript和Java并肩而立并不奇怪。使用Java的开发人员经常使用JavaScript编写前端和快速开发脚本。由于机器学习的普及,Python可能排名第三。总的来说,预计Web将成为开发人员生态系统的重要组成部分,因此JavaScript、HTML和CSS和PHP的地位会一直很稳定。SQL的排名也会比较稳定,因为从一定程度上来说几乎没有什么是不需要数据库的。C++也是一种可靠的语言,因为被用于许多嵌入式应用程序中,因此不会很快消失在排名表中。尽管C#似乎正在逐渐衰落,但我认为Java的排名越高,C#排名就会降低,因为两者在功能上非常相似。关于Java在专业开发领域排名靠前的原因,其实与上述Java在德国的处境相似。大多数企业业务服务都依赖Java,不仅是IT部门,几乎每个公司,无论是在分销、制造还是银行业,都将IT服务作为其基础结构的一部分,而这些服务(例如薪资或库存管理)通常都是在后端使用Java开发的。因此,这些公司的专业开发人员经常使用Java。

用Java开发的软件类型:Web服务中Java最受欢迎

快速查看一下使用Java开发的软件类型,就可以大致了解其使用情况。根据《年开发者生态系统状况》的结果,Web服务是Java最受欢迎的领域,占比52%。

专家分析

令人惊讶的是,Java在商业智能/数据科学/机器学习中如此流行,因为你可能认为这些领域应该是Python的“地盘”。在其他领域的结论并不稀奇,因为Web服务的后端通常是Java,为了与后端和数据库协调一致,用Java编写业务应用程序也顺其自然。

使用Java的热门行业:IT服务、金融与金融科技

现在我们知道了为什么许多专业开发人员都使用Java,下面来研究一下Java的使用行业。

根据年开发者生态系统调查,Java程序员主要在IT服务(42%)和金融与金融科技(44%)中工作,但这并不是说Java不用于其他行业。

专家分析

金融和金融科技领域主要涉及金融交易、零售银行系统,程序员需要开发计算引擎和本地定制工具和服务,让公司在市场上具有竞争力。金融和金融科技系统几乎都是用Java开发的,因此这并不奇怪。IT服务也是如此,因为许多针对非IT公司的薪资系统和库存管理服务都是基于Java开发的。Java在其他行业的处境也很有趣。因为Android,移动开发使用Java的比例可能很高。大数据和数据分析领域非常有趣,因为这个行业由Python主导,但是后端可能会使用Java和JVM语言。软件开发工具当然也很偏爱Java。JetBrainsIDE当前就是使用Java开发的。

Java工具

Java版本Java8仍然是最受欢迎的版本。使用Java作为主要语言的专业开发人员中有75%使用这个版本。

专家分析

有几个因素导致Java8如此受欢迎。首先,它具有典型Java开发人员从该语言中所需的一切,它具有lambda和流,总体来说是一个易于使用的版本。另一方面,开发者真的不愿意用Java9。Java9引入了一些重大的体系结构更改,人们担心这些更改会破坏他们用Java8开发的应用程序。最重要的是,Oracle推出了每两年发行一次的版本,并非所有版本都可以得到长期支持,Java9、Java10、Java12和Java13仅受6个月支持,这可能就是为什么这些版本用户少的原因。Java13的排名之所以高,是因为当本调查结束时这是最新的版本,预计Java13的排名会在几个月后下降。

Java11于年问世,是具有长期支持的最新版本。许多企业仍未迁移到这个版本,因为他们担心跳过Java9(体系结构更改)会带来一些麻烦,并且Java11引入了新的许可和新的注册规则,开发者担心如果用了错误的版本,或者使用的方式不对会被Oracle罚款。许多开发人员不升级到Java11的最后一个主要因素是,这个版本并没有什么令人兴奋的新功能,风险大于新功能,迁移到Java11不划算。Java17将是具有长期支持的下一个版本,并带有许多新功能,但是从Java8直接跳到Java17,可能会引起新的问题。

我的预测是,下一个长期版本Java17将比上一个长期支持版本Java11更受欢迎。不过,我真的不能施加太大压力,建议先将代码库更新为Java11,再逐步更新至Java17,以避免出现大问题。

流行的应用服务器在过去的三年中,ApacheTomcat仍然是最受欢迎的应用服务器,而JBossEAP和WildFly的使用却减少了一半。

专家分析

Jetty排名第二,但占比出奇地低。可能是某些正在使用SpringBoot和其他微服务框架的开发者可能没有意识到他们在幕后使用的东西——他们可能正在使用Tomcat或Jetty,但不了解它们。

排名前五的Web框架

年,SpringBoot和SpringMVC的受欢迎程度旗鼓相当,但前者在年变得更加流行。

专家分析

这证明了Spring确实拥有市场。仍然有人在使用Struts1,但几乎可以肯定只在旧版应用程序中使用。

排名前五的JVM探查器

报告显示,24%的开发者使用VisualVM,但一半开发者并未使用。数据来源于所有把Java作为主要语言的开发者。

排名前五的IDE/编辑器

报告显示,IntelliJIDEA的占比从年的55%增加至年的72%,而其他四个的使用占比降低。

专家分析

尽管我们对调查结果进行了加权,也无法保证数据没有偏差,因为数据是从JetBrains开发者生态系统状况调查得出的,JetBrains的主要产品之一就是IntelliJIDEA。但这并不意味着数据不合理,就像我们在其他调查中看到的一样,IntelliJIDEA是最常用的IDE之一,一般用户占比在55-60%左右。VSCode的占比正在增长,从实际情况出发,而非从竞争的角度来看,实际上VSCode会造成用户对IDE理解上的空缺。VSCode是一个代码编辑器,具备一些IDE功能和可以提供附加功能的扩展。因此,如果转向VSCode进行开发,可能意味着开发者无法了解一个功能齐全的IDE可以带给他们的东西。在网络空间中,使用编辑器是可以理解的,因为网络开发人员通常使用动态语言,而且通常会使用浏览器插件来获取需要的东西。但是在Java中,特别是在专业Java中,你确实可以从与应用程序服务器集成的好工具中受益匪浅,并可以使用分析,重构和所有功能。

讨论最多的Java工具与其他语言

Java在IT社区中经常被讨论,比如StackOverflow。我们对QA部分进行统计分析,找出了与Java关联性最大的标签。纵轴表示Java提及的内容,横轴表示标签出现的总数。

专家分析

该图表可能对想要确保使用正确技术或为寻找工具的用户很有用。

Java社区中的热门话题

我们分析了有关“java”subreddit的帖子,发掘Java用户在Reddit上讨论最多的话题。

专家分析

这些话题与我的预期基本相符。例如,用Java写代码的人总是会对这种语言是否仍然有需求感兴趣,毕竟,这种语言还在发展之中。Java已经25岁“高龄”,人们担心它是否已经过时,还是仍然生机勃勃。尤其是刚毕业的学生,他们更关心自己所学的语言能不能让他们找到一份好工作。

在容器中部署Java也是一个非常热门的话题,包括我在内,每个人都关心这个话题,但是信息很少。

我对性能优化这个话题并不感到惊讶,尽管我认为这个主题有点多余,因为大多数应用程序实际上并不需要开发者进行优化,但许多开发人员认为这是一项重要的职业技能。让后端和前端协同工作也可能非常复杂,关于这个话题也有很多讨论空间。

原文链接:




转载请注明:http://www.abachildren.com/sstx/3757.html

  • 上一篇文章:
  • 下一篇文章: 没有了