当前位置: 首页 > 后端技术 > Java

java是没落了还是变活跃了

时间:2023-04-01 20:29:02 Java

前言大家经常听到“Java开始没落”这句话,大家还是尽快转向Go、python等更高级的语言吧。他们说这会给他们更多的发展空间和就业机会,但为大家将要放弃的熟悉的编码语言付出的代价是非常高的。但这一切都是真的吗?在做出此决定之前,您会看到两种不同的叙述。有人直截了当地说“Java快死了”:这门语言的辉煌时代已经结束,需要它的人越来越少,其余的人都快要放弃它了。有人认为Java在流行度上可能没有问题,但从技术上讲,它停留在好几年前,所以现在学习它很难有更大的发展。当然,给出准确答案的最简单方法是购买所有编程语言的研究论文,但我们没有钱和时间。那么让我们看看现有的信息,把这两个论点一一看看。“没人想学Java”第一种情况,我们看扎实的数据,而不是“我也这么认为”。不幸的是,世界上语言的流行程度没有单一的衡量标准,所有可用的来源都可能具有极大的误导性。但是如果你比较几个不同的来源,你可以获得比“我周围所有的朋友都用Go编写代码”更可靠的结果。首先,“热门编程”中最著名的就是TIOBE指数。是的,您可能对结果有疑问;你不能盲目相信它,但你也不能完全忽视它。让我们看看最新的数据——2021年7月,Java位居第二。根据TIOBE的说法,它不仅不是“正在衰落的语言”,而且是世界上最流行的语言之一。另一个众所周知的来源是StackOverflow的年度开发人员调查。我们看看2020年的民意调查结果。乍一看,Java的地位要弱很多,仅排在第五位。但是当我们更仔细地观察“领先曲线”时,印象就会改变:它是JavaScript、HTML、CSS和SQL。首先,这次投票不仅包括编程语言,还包括脚本语言。其次,上述所有选项都有一个共同点,即除了他们的主要语言之外,它们还经常被开发人员使用。如果.NET和Java开发人员都使用了一点SQL,那么调查中提到了这一点,这是否意味着SQL比C#和Java更重要?在这里,看看第三个来源很有趣——JetBrains的一项调查。在这种情况下,结论是最常用的语言通常是JavaScript,但最流行的主要语言是Java。在这里,有人可能会争辩说“但动态可能是负面的”。数字因来源而异,因此不能绝对肯定地说,但如果每年都有显着下降,那将是显而易见的。实际上恰恰相反——在这三个来源中,Java的地位至少可以稳定2-3年。总而言之,如果你现在开始学习Java,几年后你会因为了解Java而有更多的工作选择。“认识少数人的人机会多”为什么一门语言的流行度很重要?为什么和其他人使用相同的语言?当然,没有严格的要求,有人会很乐意用Haskell编写(它的用户数量非常有限)。这里有几个重要因素。1.就业市场的规模如果贵公司的一位主要开发人员决定辞职,用一种鲜为人知的编程语言编写一个项目,找到替代他的人容易吗?还有一个相反的问题:如果你是那个退出的开发人员,那么在你的领域找到一份好工作容易吗?Java拥有最大的就业市场之一,比Go大得多。2.丰富的文档该语言的高流行意味着互联网上会有大量关于它的文档(博客文章、报告、StackOverflow答案),但是当你使用一种稀有的语言时,你可能会面临信息匮乏的问题.成为先行者固然有一定的优势,但这并不是快速解决问题的最佳策略。像这样的问题与“它有模式匹配吗?”一样重要。在选择语言时,由于生态系统的规模,Java具有巨大的优势。因为有这么多人使用它,所以在创建新项目时它是一个不错的选择,这反过来又会鼓励更多人加入。这种自我维持的过程在未来几年肯定不会消失。“Java停滞不前”下面继续讨论第二个论点:历史在不断前进,现在技术那么发达,java是90年代的编程语言,它并不先进,现在新的编程语言越来越多更先进。更多的。当你知道更高级的语言时,为什么要选择java?一般来说,对于很多人来说,更重要的不是语言本身,而是它的平台和“它周围的一切”:来自主要供应商的解决方案和来自爱好者的开源库、IDE支持和替代JVM语言。如果我们将所有这些作为一个整体来考虑,你就会投入java的怀抱。别的语言我们不用看,只看Java这十年发生了什么。2011年,甲骨文收购了SunMicrosystems,获得了Java的控制权,当时Java的前途未卜。进入甲骨文其他产品(OpenOffice、Solaris、Hudson)的未来是艰难的。在这里,Oracle并不是为了拥有java的资源就放弃java,而是投入资源进行开发。2014年发布的Java8版本可谓是互联网上的一件大事;由于技术革新,java语言发生了明显的变化。业界已经很乐意接受这个版本,也更愿意过渡到Java8。2017年,随着Java9的到来,一个酝酿已久的JDK模块化项目发布了。与存在了几十年的任何主要项目一样,随着时间的推移,JDK中的内部依赖性开始变得像意大利面条一样。为了“看到”它,这些依赖关系必须分解成一个连贯的系统——也就是说,本质上是一个大规模的重构。真正“停留在过去”的项目不会发生这种情况。从2018年开始,新的发布周期开始生效:他们开始每六个月发布一次较小的版本,而不是频繁发布Java的主要版本。这样做只是为了跟上行业的步伐并更快地发布功能(如果某些功能已经准备就绪,您不必将它们搁置多年直到下一次发布)。定期的发布流并没有把一切都颠倒过来,但仍然增加了一些值得注意的东西。一般来说,谈论一种语言缺乏发展是非常不利的。我们可以谈论的是,Java比其他语言更保守。事实上,在许多问题上,他们都尽量谨慎行事,而不是一头扎进去。但这引出了下一个问题:“独断专行”真的是一件好事吗?几年前,前端界有很多抱怨,新框架更新越来越快,让他们无法保持冷静和专注。现在,也不是Java社区中的每个人都对新的发布周期感到满意。结论没有一种衡量技术发展速度的正确方法:对初创企业有利的对大公司不利。Java的保守主义本身既不是优势也不是劣势:它对某些人有利,对其他人不利。尽管如此,这并不意味着Java是世界上对每个人来说最好的语言。在选择语言时,应该看具体的需求是什么,而不是依赖互联网大喊“从X到Y,否则你就落后了”。如果你保持冷静的头脑,Java在大多数情况下仍然是一个不错的选择。