为什么Java仍旧生机盎然——对“为什么Java正在消亡”的回应

为什么Java仍旧生机盎然——对“为什么Java正在消亡”的回应

[图片上传失败...(image-599293-1649288200226)]

0. 阅读完本文你将会

了解Java作为热门语言之一所面临的争议

了解Java的生态环境和未来

1. 前言

原文标题:Why Java Is Perfectly Alive——A response to "Why Java Is Dying"

原文地址:https://betterprogramming.pub/why-java-is-perfectly-alive-e3f25a576f95

原文作者:Ivan Khodyrev

注:文中所有图片均来自原文

译者按:编程语言界一直很热闹,各种鄙视链,口水战层出不穷,Java作为长盛不衰的热门语言之一也避免不了诸多争议。今天我们从国外作者的视角来看看这篇1800赞的热门文章,是怎么为Java做"无罪辩护"的。

2. 正文

我写了这份长篇读后感,以此作为对 "为什么Java正在消亡 "这篇文章的回应。我在这篇文章下面的评论已经置顶了,我想我应该写一篇全方位的分析文章。

对于原作者文章最好的简短回答其实是Coder:76的回答,他的回答得到了数百赞。

对于一些想要获得关注的博主来说,Java这15年以来一直处于濒死或者已死的状态。

我对此非常赞同。

2.1 "Java正在消亡"的说法有什么不妥?

[图片上传失败...(image-992f99-1649288200226)]

那篇"为什么Java正在消亡"的文章收到了70多条评论,其中大部分是批评,每条都有几十、几百个赞。为什么这么多人的评论如此负面?原因很简单。这篇文章写得很有挑衅性,包含了许多有争议的说法,对于使用Java的人来说,这些说法与现实的状况相去甚远。让我们来看看其中的一些内容。

"例如,Spring配置了自动注入(bean injections),这是可以理解的,但是,Lombok在应用环境中处于什么位置,两者之间的消息传递是如何协调的?"

对于使用上述技术的人来说,这种说法看起来是错误的。Lombok是一个编译时库,Spring是一个运行时库。它们在应用生命周期的不同时期工作在不同的层面上,并不直接互动。作者的问题 "Lombok在应用环境中处于什么位置?"的正确答案是"没有位置"。

"Java的重点似乎还是在愚蠢的规则上,这些规则规定了类名应该是什么,它们应该在什么包里,以及变量应该是私有的还是保护的。说真的,谁在乎呢?"

从事大型、长期项目工作的人很在意。这些规则对他们来说并不傻。

"相比之下,'我们都是成年人'简直就是Python对语言中没有访问指定器的官方回应。"

在团队中有人假设别人不是成年人,这没有什么问题——这是一个浅显的想法。问题是,持续时间长、由大团队创建的大型项目需要规则;否则,它们会失败。

一个大型项目就像一个大型城市。它需要建筑基础、规划、关注点的分离、私人和公共区域。如果一个熟练的程序员将语言结构分为公共和私人,他们很可能创造出 "街道",将其他人引向正确的方向,节省他们的时间,并将辅助的基础设施隐藏在"地下",这样就不会有人在那里迷路。

在"为什么Java正在消亡"这篇文章中,还有很多有争议的说法,但我在这里的目标不是详细分析。我想做的是利用这个机会谈一谈Java现在的状况。

多年来,Java是编程语言中的首选之一,同时也是批评家的鞭挞对象。不是因为它不好,而是因为它是个惹人注意的目标,如果你想让自己获得更多的关注,你就必须说反对它的话,并祈祷有人会注意到。从这个角度来说,Java是一个很好的目标。

但是现在呢?Java仍旧是一个香饽饽?还是像有些人说的那样正在"死亡"?让我们来讨论一下最重要和最有争议的话题,以便弄清楚这个问题。

2.2 语法

[图片上传失败...(image-10acd-1649288200226)]

通常,Java的语法被批评得最多:"不简洁"、"写法过时"、"太多的模板",等等。对于这些"论点",唯一正确的答案是展示代码。我不会在这里讨论特殊的语法特征,有很多详细的指南,涵盖了Java语法的所有细微差别。相反,我选择了五个代码片段,只是为了让你了解现在的Java在不同的实际任务中是如何运作的。

import static spark.Spark.*;

public class HelloWorld {

public static void main(String[] args) {

port(80);

get("/hello", (request, response) -> "Hello World");

}

}

你可能听说过以前的"好"日子,一个简单的Java网络服务器需要几百行代码和配置才能运行?现在忘掉它们吧。

这段代码使用

💎 相关推荐

无线鼠标连接电脑全攻略:小白也能轻松搞定的实用教程
战机世界中的红色利剑 拉格-3使用心得
英国365bet日博

战机世界中的红色利剑 拉格-3使用心得

📅 07-15 👁️ 5371
复古风劲吹,世界杯32强球衣哪件是你的爱
英国365bet日博

复古风劲吹,世界杯32强球衣哪件是你的爱

📅 07-25 👁️ 8856