Java25岁,发展现状大曝光程序

怎么确诊是白癜风 http://pf.39.net/bdfyy/bdfal/171228/5964818.html
作者

ValeriiaKarpenko译者

弯月出品

程序人生(ID:coder_life)今年,Java迎来了5周年,而这门编程语言的发展也达到了一个新高度。Java举办了一次特殊的在线活动来庆祝周年,活动期间许多专家演讲分享了他们的经验,并介绍了有关如何掌握该编程语言的技巧和窍门。文本深入地研究了多方面的数据,总结了Java目前的发展状况以及来自专家TrishaGee的分析。地域 个问题是:“Java开发人员主要聚集在哪些区域,以及全世界有多少Java开发人员?”我们分析了最准确的信息,并进行总结和推断后得出了以下结论。根据市场研究及开发团队的分析模型估计,目前全世界大约有50万以Java为主要编程语言的专业开发人员。如果再加上主要使用其他编程语言,但同时也使用Java的专业开发人员的话,那么这个数字接近万。从地域来看,居住在亚洲的Java开发人员数量最多,大约有50万开发人员以Java为主要编程语言。北美和欧洲的人数远不及亚洲。你可能会好奇:“但这是为什么?”其实,我们开始也这么想,所以我们对这些区域进行了更深入的研究,以确切地了解数字的来源。具体的地域我们更深入地研究了Java开发人员数量居榜首的各个国家,然后调查了为什么这些国家开发人员对Java的喜爱超过了其它编程语言。下图显示了各个国家/地区以Java作为主要编程语言的开发人员所占的百分比(收集此数据时,受访者最多可以选择三种主要编程语言)。其中,中国和韩国开发人员所占的百分比 ,分别约为5%和50%。专家分析Java在前6个国家中如此流行的原因可能包括Java的免费使用、*府支持和开源等。在中国、西班牙和巴西尤其如此。在中国和印度,Java是Android移动开发的基础,而且外包开发人员使用Java构建移动应用的情况非常普遍,这可能是印度使用Java的人数最多的原因。

在德国,使用Java的开发人员比例也很高,这可能是因为Java是德国软件工程师最喜欢的语言,Java被用于为许多行业构建高度可扩展的应用程序。

大多数企业服务都依靠Java来开发支持日常业务的应用程序,例如薪资管理、库存管理、报告等。德国还有一个庞大的金融部门,他们大量使用Java开发自家的技术,例如交易机器人、零售银行系统以及金融业为了保持竞争力而需要的其它应用程序。

我们原以为美国的Java用户比例很高,但从很多方面看来,实际情况并非如此。美国的开发人员有大量的技术栈可供选择,而且很多技术公司通常处于这些技术栈的最前沿,因此美国的开发人员不会过分依赖Java的功能或稳定性,他们需要能够快速开发与测试的编程语言。行业见解根据00年开发人员生态系统状况调查,超过三分之一的专业开发人员使用Java作为主要语言,而且Java仍然是仅次于JavaScript的第二大主流编程语言。专家分析JavaScript与Java名列榜首的现象并不足以让人们惊讶。使用Java的开发人员经常使用JavaScript编写前端和其他脚本。由于机器学习的普及,Python排名第三。总的来说,我们认为Web是开发人员生态系统的重要组成部分,因此JavaScript、HTML和CSS以及PHP将始终保持稳定的地位。SQL也将永远存在,因为不需要数据库的地方并不太多。另外,C++的发展非常稳健,因为许多嵌入式应用程序都需要使用C++,所以近期内它都不会消失。

另一方面,C#似乎呈现出逐渐衰落的趋势,我认为如果Java的使用率偏高,那么C#就会走低,因为二者在功能方面都非常相似。至于我为什么认为Java的使用在专业发展领域如此之高的原因与上述分析德国的原因类似。大多数企业业务服务都需要依赖Java。

不仅是IT部门,几乎每个公司,无论是在分销、制造还是银行业,都将IT服务作为其基础设施的一部分,而这些服务(例如薪资或库存管理)的后端通常都是使用Java构建的。因此,为这些公司工作的专业开发人员经常使用Java。

使用Java开发的软件类型快速浏览一下使用Java开发的软件类型应该可以了解其使用情况的基本信息。根据00年开发人员生态系统状况调查,Web服务是Java 的领域,占5%。专家分析出人意料的是,Java在商业智能/数据科学/机器学习中如此流行,因为通常我们认为这些是Python的领域。很多Web服务的后端一般都是用Java,因此这个结果也不是特别意外,其实使用Java编写业务应用程序也合情合理,因为它们也需要与后端和数据库的配合。使用Java的热门行业以上,我们知道了为什么许多专业开发人员都使用Java,下面我们来专门研究一下使用Java的热门行业。根据00年开发人员生态系统状况调查,Java程序员主要从事IT服务(4%)和金融与金融科技(44%),但这不是说其它行业不使用Java。专家分析金融和金融科技领域主要涉及金融交易所、零售银行系统、建立计算引擎以及开发本地定制工具和服务,以加强公司在市场上的竞争力。金融和金融科技几乎都是使用Java建立的,因此有这样的统计结果也不足为奇。其它IT服务也一样,许多非IT公司的薪资系统和库存管理服务都是使用Java建立的。不过其他行业的数据更有趣。移动开发领域占的比例很高,因为需要用到Android,Java自然水涨船高。大数据和数据分析非常有趣,因为该行业一直是Python ,但是后端可能会使用Java和JVM语言。软件开发工具,当然也会使用Java。目前JetBrainsIDE就是使用Java构建的。尽管其他行业的数字都有费解,但实际上,了解Java在这些行业中的使用状况非常有意义。Java工具Java版本Java8仍然是目前 的版本。75%的Java专业开发人员正在使用Java8。Java的热度也在上升,与去年相比,其使用率增加了0%。下图显示了Java各个版本的分布情况(根据00年开发人员生态系统状况调查),开发人员可以选择多个版本。专家分析Java8如此受欢迎的原因如下有几个。首先,Java8拥有Java开发人员希望从该语言中获得的一切,它拥有lambda和Stream,而且是一个非常易于使用的版本。另外,人们不是特别愿意使用Java9。因为Java9中引入了一些重大的体系结构变更,人们担心这些改动会破坏他们在Java8中构建的应用程序。

除此之外,Oracle还引入了每年两次的发布,而且并非所有版本都有长期的支持,比如Java9、Java0、Java和Java都只有6个月的支持,这可能就是为什么它们都只有非常少量用户的原因。Java的用户之所以略高,是因为在此次调查结束之际,它是 版本,因此我们认为Java会在几个月后下降。

Java于08年问世,它是拥有长期支持的 版本。但许多企业仍然未使用它,是因为他们担心Java9以后的版本(由于体系结构的变化)可能会破坏一切,而且Java引入了新的许可和新的订阅,因此人们更加担心以错误的方式使用错误的版本会被Oracle罚款。

许多开发人员不愿升级到Java的 一个主要因素是,它没有多少令人兴奋的新功能,因此与升级风险相比,该版本带来的新功能有点得不偿失。Java7将是下一个拥有长期支持的版本,而且带有许多新功能,但是直接从Java8升级到Java7也有很多自身的问题。

我认为,下一个长期版本Java7将比前一代长期版本Java更受欢迎。但是,为了减小升级的压力,我建议你先将代码库升级到Java,然后再更新到Java7,以避免出现重大问题。流行的应用服务器在过去的三年中,ApacheTomcat仍然是 的应用服务器,而JBossEAP和WildFly的使用却减少了一半。(数据来自08年和00年开发人员生态系统状况的调查中,所有以Java为主要语言的开发人员。)专家分析虽然Jetty位居第二,但所占百分比低得令人惊讶。可能是有些正在使用SpringBoot和其他微服务框架的开发人员没有意识到,其实背后正在使用的是Tomcat或Jetty。五大Web框架08年,SpringBoot与SpringMVC的使用状况相同,但如今00年变得越来越流行了。(数据来自08年和00年开发人员生态系统状况的调查中,所有以Java为主要语言的开发人员)。专家分析我们基本上可以确认Spring占领了整个市场。仍然有人在使用Struts,但几乎可以肯定只是在遗留应用程序中使用。五大JVM00年开发者生态系统状况调查显示,4%的用户使用了VisualVM,有一半的用户没有使用任何JVM。(数据来自08年和00年开发人员生态系统状况的调查中,所有以Java为主要语言的开发人员)。五大IDE/编辑器根据00年开发者生态系统状况调查,IntelliJIDEA的份额从08年的55%增加到了00年的7%,而其他四种IDE的使用量则减少了。专家分析即便我们对调查结果进行加权,也无法否认该信息有些偏差,因为该数据来自JetBrains开发者生态系统状态的调查,而且JetBrains的主要产品之一是IntelliJIDEA。但是,这并不是说这个结果完全不合理,就好像我们在其他调查中看到的一样,IntelliJIDEA是最常用的IDE之一,拥有大约55-60%的用户份额。

VSCode正在增长,它是一款 的代码编辑器,能够为你提供IDE的功能以及一些附加的功能扩展,因此如果人们开始转向VSCode,则可能意味着开发人员并不清楚一个功能齐全的IDE到底能为他们提供什么。在Web开发中,使用编辑器是可以理解的,因为Web开发人员通常使用动态语言,并且经常使用其他工具(例如浏览器插件)来满足他们的需求。

但是在Java中,尤其是专业Java中,一款继承了应用程序服务的工具确实有很大帮助,你可以使用它们来执行分析、重构以及其它处理。

讨论最多的Java工具和其它语言IT社区经常讨论Java,其中之一就是StackOverflow。我们从问答中获取了数据,然后找出了最常出现在“java”问题中的标签。下图纵轴表示提到Java的问题,横轴表示标签出现的总次数。专家分析对于希望使用正确的技术或寻找工具的用户来说,这张图表可能非常有用。各种语言的出现比较有趣,这可能是人们拿这些语言与Java做了比较的缘故。而正则表达式是一直是困扰很多人的一个话题,因此它们出现在图中并不奇怪。Java社区中的热门话题有关Java的讨论我们分析了有关“java”的帖子,并找出了Java用户在Reddit上讨论最多的主题。专家分析这些正是我期望看到的主题。例如用Java编写代码的人总是会对这种语言是否仍然有需求感兴趣,毕竟,这种语言还在发展。我们刚刚庆祝了Java诞生5周年,因此人们希望确认一下这种语言是否过时,还是说仍然非常流行。特别是对于刚从大学毕业的学生,他们还不知道所学的语言是否能为自己提供工作的机会。如何在容器中部署Java是一个非常热门的话题,包括我在内,这是每个人都想知道的东西,但我们很难找到相关的信息。我对性能优化这个主题并不感到惊讶尽管我认为这个主题有点多余,因为大多数应用程序实际上并不需要开发人员进行优化,尽管许多开发人员认为这是一项重要的职业技能。后端与前端的协同工作可能非常复杂,因此我可以想象此处有很多问题。原文链接:


转载请注明:http://www.xxcyfilter.com/zyjn/zyjn/11473.html