Why do so many people become Java haters?

2021-08-15 12:41:14 +08:00
 Cbdy

I did some searches on the Internet, and there seem to be quite a few answers on the Internet.

e.g.

I read many of these posts, and I found that the most concentrated complaint against Java is

It's very verbose and repetitive.

However, there have been many improvements in recent versions of Java for the issue (Type Inference, Text Blocks, Recoeds, etc.). And Java 17 will be released in a month, Java code is becoming more and more concise.

But it may take more years to change the over-engineering culture of the Java community..

6956 次点击
所在节点    Java
67 条回复
gablic
2021-08-16 10:55:41 +08:00
Why do so many people become Chinese haters?
CRVV
2021-08-16 11:10:03 +08:00
Java 有一些奇怪的设定,而且奇怪得很明显。

比如 checked exception,要在 finally 里面写一个 try catch 来包住 file.close,结果是非常多层的嵌套。当然现在已经有新的写法了。

比如 Java 很喜欢标榜自己没有指针,还造了个词“引用”。但 Java 的引用是 C++ 的指针,C++ 的引用在 Java 里面不存在。这是让人很不爽的用词方式。

中文的 Java 资料里面类似的情况更多,比如“内存模型”,中文说的内存模型和 wikipedia 的 memory model 说的是完全不相关的两件事。

比如有个 Azul C4 GC,号称 pauseless,但如果你去翻它一篇 pdf 的像论文一样的东西,里面会说其实有那么大概 1 ms 的 pause,但这种重要信息从来不会出现在好找的地方,所有地方都说 pauseless 。我从来没在其它语言上见过这种销售话术。


这些是我不喜欢 Java 的原因,我并不介意它 verbose and repetitive
ysc3839
2021-08-16 11:21:29 +08:00
我对 Java 语言本身没什么讨厌的,我个人不喜欢 Java 是因为它背后的公司不开放。
有的人喜欢拿 Java 开源来证明它背后的 Oracle 开放,时不时在 Java 对比 C# 的文章里看到,说 Oracle 比微软如何如何开放,所以大家喜欢用 Java 而不是 C#。然而 Oracle 起诉 Google 使用 Java API,以及收紧 Oracle JDK 的协议都能说明它并不开放。
C# 没有 Java 成功显然是因为早年微软不开放+不开源,但我认为 Java 成功并不是因为它开放,甚至也不是因为它开源,因为 Java 在 2006 年底才开源,在此之前 Java 就已经很出名了。
因此我拒绝 Oracle 发布的东西,我会用 MariaDB 而不是 MySQL,我会用 OpenJDK 而不是 Oracle JDK,就算 OpenJDK 需要自己手动解压配置我也不会用 Oracle JDK 那个一键安装包。
Ayanokouji
2021-08-16 11:34:08 +08:00
因为只能用 jdk8
pkoukk
2021-08-16 11:41:25 +08:00
@dqzcwxb
变革会带来混乱,混乱就是权力的阶梯。哪怕成不了大牛,也有机会成为大牛的腿部挂件。
不像现在,入场晚的连大牛的腿毛都抱不上
Bromine0x23
2021-08-16 11:45:10 +08:00
用的人多吧?
我觉得 JS 更 sucks,但好像批判的声音也没 Java 这么大
bomb77
2021-08-16 11:47:43 +08:00
@TomDu #32 可能是因为话题太引战,用英语会缓解撕逼氛围?
eric96
2021-08-16 11:50:26 +08:00
硬要说具体语言的话,我说 JS 和 Python 的迭代和工程化才是 suck,割裂,混乱
kett
2021-08-16 11:57:03 +08:00
因为用的人多,即便只有一少部分人不满,在这么大的使用基数下也是一大批人。
yazinnnn
2021-08-16 12:06:47 +08:00
等 jdk17 发布了就把线上环境切到 17

ps,kotlin 项目
charlie21
2021-08-16 12:32:08 +08:00
@Rwing #10 怎么赵劼还做过争议性这么强的帖子 不过确实总结得很透彻
miniwade514
2021-08-16 14:21:45 +08:00
@cansiny0320 而且楼主发完贴之后就不说话了
sutra
2021-08-16 14:29:25 +08:00
这个 thread 下,居然没有 PHP,不和谐。
speedofstephen
2021-08-16 14:42:36 +08:00
哎,这么多人讨厌 Java,本 Java 粉丝其实很能理解。直言不诲的说,我很讨厌 PHP 。但是为什么讨厌呢?我想了了想可能是因为某些使用 php 的人,他们实现功能的方式过于的简单粗暴,不考虑扩展性。《编程思想》,《重构》基本是每个 Java 开发都会看的。有可能是因为小城市,这里的 PHP 开发写的东西简直可以作为书上的反面典型。 总结了一下站内的回复,感觉多数人讨厌 Java 也是相同的原因,他们觉得 Java 背后的群体代表的就是不思进取,故步自封的保守派。还有的人说因为培训的大多是 Java,所以 Java 这个群体的平均水平不高。这个确实是事实,但这不是 Java 的错。
tt67wq
2021-08-16 18:04:42 +08:00
主要是恶心国内的 Java 面试官吧,Java 语言本身瑕不掩瑜
ao99
2021-08-16 20:43:45 +08:00
忘记在哪看到的一句话:“Java 是个很糟糕的语言,但它无所不能”
liuxu
2021-08-16 20:48:56 +08:00
谁 hate java,我刘某人第一个带着 php 的兄弟办他
csy123
2021-08-16 23:51:01 +08:00
@cansiny0320 #30 提高讨论门槛吧
unlimitedsola
2021-08-17 00:33:54 +08:00
@Leviathann 守旧的多数还是不愿学新知识。
cenbiq
2021-08-17 18:12:47 +08:00
刚刚思考了整整 10 分钟,愣是没想到什么优点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/795881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX