展开讨论

经验与复盘经验摘录 · 机器翻译

在我的职业生涯的大部分时间里,我以为我讨厌 Java,主要是因为每段我接触过的 Java 代码都…

… 在我的职业生涯的大部分时间里,我以为我讨厌 Java,主要是因为每段我曾经使用过的 Java 代码都过于冗长,需要跨数百个文件来完成其他语言中只需十行代码就能完成的事情。然后我开始真正研究 Java 8、11、17 和 21 的所有特性,我意识到:不!Java 实际上提供了很多非常棒的工具和语言特性,让你可以写出相对简洁、高效、性能良好的代码。记录类型可以减少很多样板代码,流 API 允许你对列表进行相当不错的操作,密封接口基本上解决了我对 ADT 的需求,虚拟线程确实是相当令人印象深刻的工程成果,而对于那些没有内置的功能,Vert.x 和 Disruptor 也很好地填补了这些空白。一旦我了解了这些,我就对仍然像 1999 年那样写代码的人感到有点生气,但也开始享受编写 Java 了。…

源讨论JEP 401:值对象(预览版)合并到OpenJDK主分支原帖 175 条评论 · 导入时统计
2

这条内容在回应什么?

父级讨论 · 节选

TI

我觉得在这一点上我很孤独:我大部分时间都爱Java这门语言。 缺乏值类型是某些类型性能的最大障碍。我非常期待这门语言的这种演变。

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 2

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

DE

我认为很多冗长的代码来自于通用性——当你希望代码可以被重用和可扩展(插件化)时。难怪两款广泛可扩展的游戏(Minecraft 和 Kerbal Space Program)分别用 Java 和 C# 编写,这使得创建模组变得非常容易。有一次我尝试让一个 Go 项目至少在构建时可以扩展,发现自己创建了很多类似 Java 的 Factory 和 Builder。 这种通用性是否是过早的——我不确定,这只是我的观察。

完整原文
GE

> Java 最糟糕的部分是 Java 程序员。 对于那些部署了 Java 的公司来说,这反而是最好的部分。1995 年到 2015 年间 Java 的增长和企业 IT 外包几乎是同步的。这并不是为有品味或对编程感兴趣的人准备的。它是一本 1000 页的 J2EE 手册,被大量印刷并分发给 IT 供应商,用大量冗长的细节描述和一个虚拟的宠物商店项目来展示 Java/J2EE 的所有方面,这深深植根于 Java 文化中。 可能是商业或礼貌的原因,那些善意的 Java 语言作者很少对这种更广泛的 Java 文化发表任何意见。因此,人们普遍认为 Java 项目中冗长的代码和结构是有官方认可的。

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。