java是没落了还是更活跃了

前言

你经常会听到“Java 开始没落了”的说法,所有人都应该尽快切换到 Go ,python等更先进的语言。他们说这对他们来说会拥有更多发展空间及就业机会,但对每个人都将要放弃的熟悉的编码语言来说付出的代价是非常大的。但这都是真的吗?

java是没落了还是更活跃了

编程语言

您在下这个决定之前,你看到两种不同的说法。有人直截了当地说“Java 正在没落”:该语言辉煌的时代已经过去,需要它的人越来越少,剩下的人即将放弃它。也有人认为Java在普及方面可能没问题,但从技术上讲它停留在好几年前,所以现在学它很难得到更大发展。当然,要给出准确的答案,最简单的方法是购买所有编程语言的研究论文,但我们没有钱和时间。因此,让我们看一下可用的信息,并一 一查看这两个论点。

“没有人想学 Java”

在第一种情况下,让我们看看可靠的数据而不是“我认为是”。不幸的是,世界上语言的流行度并没有单一的指标,所有可用的资源都可能极大地误导。但是如果你比较几个不同的来源,你可以比“我的朋友身边的朋友都用go编码”更有可靠的结果。

java是没落了还是更活跃了

java

首先“热门流行编程”中最著名的就是 TIOBE 指数。是的,可能你对其中的结果存在疑问;你不能盲目相信它,但你也不能完全忽视它。我们看看最新的数据—2021 年 7 月,Java 排在第二位。根据 TIOBE 的说法,它不仅不是一种“没落的语言”,而是世界上最流行的语言之一。

另一个著名的来源是 Stack Overflow 的年度开发者调查。我们看看2020 年的民意调查结果。乍一看,Java 的位置要弱得多,仅排在第五位。但是,当我们更仔细地观察“领先的曲线”时,印象会发生变化:它是 JavaScript、HTML、CSS 和 SQL。首先,这个民意调查不仅包括编程语言,还包括脚本语言。其次,前面的所有选项都有一个共同点,就是开发人员除了主要语言之外还经常使用它们。如果 .NET 和 Java 开发人员都使用一点 SQL,所以在调查中都提到了它,这是否说明 SQL 比 C# 和 Java 更重要?

在这里,看看第三个来源很有趣—— JetBrains 的一项调查。在这种情况下,结论是最常用的语言通常是 JavaScript,但最流行的主要语言是 Java。

在这里,有人可能会争辩说“但动态可能是负面的”。数字因来源而异,因此无法绝对肯定地说出任何事情,但如果每年出现大幅下降,那将是显而易见的。实际上恰恰相反——在所有三个来源中,Java 的位置至少可以稳定 2-3 年。总而言之,如果您现在开始学习 Java,几年后您将会因为会java增加更多就业选择。

“会一门人少的人更加有机会”

为什么一门语言的受欢迎程度很重要?为什么要使用与其他人相同的语言?当然,没有严格的要求,有人会用 Haskell(使用人数非常有限) 写就很开心。这里有几个重要的因素。

java是没落了还是更活跃了

就业市场

一、就业市场的规模

如果您公司的一位关键开发人员决定辞职,使用一个非常少会的编程语言写一个项目,那么找到替代他的位置容易吗?而相反的问题:如果你是那个退出的开发人员,在你的领域找到一份好工作容易吗?Java 是拥有最大的就业市场之一,比 Go 大得多。

二、丰富的文档说明

该语言的高流行度意味着互联网上会有很多关于它的说明文档(博客文章、报告、Stack Overflow 的答案),但是当你使用一种罕见的语言时,你可能会面临信息匮乏的问题. 做先锋当然有一定的优势,但这并不是快速解决问题的最佳策略。

这样的问题和“它有模式匹配吗?”一样重要。在选择语言时,Java 因为生态系统的规模而具有巨大的优势。因为很多人使用它,所以在创建新项目时它是一个不错的选择,这反过来又鼓励了更多人的加入。在未来几年这种自我维持的过程肯定不会消失的。

“Java 停滞不前了”

现在让我们继续讨论第二个论点:历史是不断前进的,现在科技那么发达,java是一门90 年代的编程语言,不先进了,现在新出的编程语言越来越多。您会更加先进的语言时,为什么要选择java?

一般来说,对于很多人来说,更重要的不是语言本身,而是它的平台和“周围的一切”:主要供应商的解决方案和爱好者的开源库、IDE 支持和替代 JVM 语言。如果我们将所有这些作为一个整体来考虑时,你就会投入java的怀抱。

我们不需要看其他语言,我们直接看看最近十年 Java 发生了什么。

2011 年,甲骨文收购了 Sun Microsystems,取得了 Java的控制权,当时java前景不明朗。进入甲骨文的其他产品(OpenOffice、Solaris、Hudson)的未来很艰难。

在这里,甲骨文并不只是为了拥有java的资源而放弃java,而是将资源投入到开发中。

2014 年发布的 Java 8 版本可谓是互联网上的一件大事;由于技术上的创新,java语言发生了明显的变化。业界心甘情愿地接受了这个版本,更愿意过渡到java 8中。

2017 年,随着 Java 9 的出现,一个长期存在的 JDK 模块化项目发布。与任何存在数十年的重大项目一样,JDK 中的内部依赖项随着时间的推移开始变得像意大利面条。为了“看到”它,必须将这些依赖关系分解成一个连贯的系统——也就是说,本质上是进行了一次巨大的重构。对于真正“陷入过去”的项目,这种情况不会发生。

从 2018 年开始,一个新的发布周期开始生效:他们没有准备频繁发布Java 大版本,而是开始每六个月发布一个较小的版本。这样做只是为了跟上行业的步伐,更快地发布功能(如果有些功能已经准备好,您不必将它们搁置多年,直到下一个版本发布)。并且有规律的发布流并没有把一切都颠倒过来,但仍然增加了一些值得注意的东西。

一般来说,谈论一个语言缺乏发展是非常不利的。我们可以谈论的是Java与其他语言相比具有更大的保守性。的确,在很多问题上,他们都尽量谨慎行事,而不是一头扎进。但这又引出了下一个问题:“一头扎”真的是好事吗?

几年前,前端世界有很多抱怨新的框架的更新越来越快,让他们无法保持冷静和专注。在 Java 社区中,现在也不是每个人都对新版本发布周期感到满意。

结论

技术发展的速度没有一个正确的标准:对初创企业有利的对大型企业不利。Java 的保守主义本身既不是优点也不是缺点:它对某些人有利,对其他人不利。

综上所述,并不意味着 Java 对所有人来说都是世界上最好的语言。选择一种语言时,值得看一下具体需求是什么,而不是依靠互联网大喊“从X到Y,否则你就落后了”。如果你保持冷静的思考,Java 在大多数情况下仍然是一个不错的选择。

posted @ 2022-02-28 09:36  MicroStone123  阅读(141)  评论(0编辑  收藏  举报