日经吐槽:现在的 Java 语言真的有点令人恶心

2 天前
 dog82

我之前在 java1.4/1.5/weblogic 时代做了多个 java 项目,后来转战 Go 语言多年,现在再返回来做 java 项目,有点 hold 不住了…… 1 、各种语法糖叠加起来,非常不直观。盐多了加水,水多了加盐,看类库的源码就像看甲骨文,脑子快拧成麻花了; 2 、整个技术体系 java+spring boot+cloud 太庞杂,学习成本和使用成本非常高。

8233 次点击
所在节点    Java
87 条回复
dog82
2 天前
@HojiOShi 我最早写过 j2me ,那时还没有 android ;写过微软的 J++,用过 borland jbuilder ,中间件用过 ibm 的 websphere ,后来才用 bea 的 weblogic

那时主要写 ejb ,手搓 js+jsp ,后来慢慢有了 ajax prototype jquery extjs tomcat resin jboss glassfish jboss eclipse struct hibernate

我家里至今还有一本 rod johnson 写的 Expert One-on-One J2EE Design and Development
issakchill
2 天前
java 有啥语法糖的?...
chenmobuys
2 天前
都是嫌 java 语法糖少的,头一次看到嫌弃语法糖多的。。。
ohoh
2 天前
java 是设计模式多,随便一个框架,上来就是各种设计模式,但是那是人家框架搞好了的,其他的就是按部就班的开发就是。要知道以前面试,会设计模式会比较有优势
mmdsun
2 天前
这个问题很简单 spring boot + Kotlin 。不喜欢 spring 可以换成 Vert.x + Kotlin
Wh1te
2 天前
@Narcissu5 OP 应该是纵向对比的,现在的 Java 和 1.4 1.5 时代的 Java
zhazi
2 天前
拉不出屎怪地球没引力
XDiLa
2 天前
语言只是工具,你对这个语言不满 那你就创造一个满意的语言让大家用啊。天天一副怨妇的样子。真让人且嘘
reeco
2 天前
是你老了,学不动了
chendy
2 天前
java 这套玩意使用成本要是真的高,就不会随便找个人培训两天就拉出一吨微服务了
最干干巴巴没意思的语言,写多了都能编程阳痿,还能吐槽这么多只能学不动了
Ayanokouji
2 天前
你骂 java 和 spring boot 不行
你骂 spring cloud ,我举双手赞成
yolee599
2 天前
那是 spring 的问题,不是 java 的问题,java 代码风格还算统一的了,随便换人都能看懂
xiaowangge
2 天前
Java 语法糖真不多。

广为吐槽的 setter getter 用 Lombok 注解。
动不动就写接口 ServiceImpl ,也可以不写接口。

最后,玩玩 Netty 、Vert.x
cloudzhou
2 天前
总有一天我要写个文章喷一下这些日常吐槽 Java 的半吊子,一有点学习曲线就怪 Java

java1.4/1.5 过来到现在,少说 15 年左右了吧,Java 进步有多大,Jdk 25 都出来了
Java 语法可以说平铺直叙,最多就是一个 streams 需要熟悉点

java 不是一个单一的语言,是整个庞大的组件、库的学习成本,再加上 JVM 和大数据等等
rust ,kotlin ,scala 学习曲线不高?理解度不更难?
Narcissu5
2 天前
@Wh1te Java 是对加语法特性最慎重的语言没有之一,现在的 Java 和 1.4 1.5 基本没多大区别,如果当年能看懂现在基本也没什么问题
xiaomushen
2 天前
@chenmobuys 你多写一些 Go ,自然就会嫌其他现代化编程语言,语法糖太多
liuxey
2 天前
致敬老兵!

话说回来,让现在的程序员去动 j2me 、websphere 、ejb 、struct 这些“老古董”才是真的脑子快拧成麻花,SpringBoot 至少能让新手程序员快速上手出货,当今软件开发的模式和 15 年前已经有了非常大的变化,要用变化的眼光去感受整个行业,不能停留在原地固步自封。

就我个人观点而言,SpringBoot 相比于 SSH 、SSH2 等古老架构体系,不仅是 Java 生态的成长,更是解放生产力的工具。
xiaohanliang
2 天前
我个人觉得有设计模式其实是好事, 你撸业务逻辑就完了. 理论上设计模式如果能玩 6 应该每个业务逻辑一小块, 好懂好维护. 但它之所以让人反感, 就因为我们实际接触到的设计模式全都套错成四不像了.

现在业务逻辑反过来要强行适应这种畸形的设计模式, 成我去伺候它了? 根本原因还是当时设计架构的时候不够懂业务, 瞎理解瞎套, 什么场景能出现什么场景不可能出现, 这事儿没琢磨明白就开始套, 最后该抠的细节, 成我去兼容它. 不该抠的细节到斤斤计较, 看起来就很 sb.

go 就没什么设计模式, AKA 大家一起写流水账吧, 其理念类比 Python, 就没想过要你好好做架构拆分, 往系统化模块化去拆分, 新人上手没难度两三天开写, 没啥设计模式快速出货就完了.
sky3hao9
2 天前
go 和 java 我都用过几年, 现在两个也在使用中, 各有各的优点.
但我自己更喜欢 go, 感觉可控度更强, 简洁有力, 人码合一不敢说, 但心思更多的是在思考业务逻辑和设计上, 很自由, 很惬意
kneo
2 天前
但凡你能举个例子出来。

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

https://ex.noerr.eu.org/t/1170596

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

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

© 2021 V2EX