总有一天我要写个文章喷一下这些日常吐槽 Java 的半吊子,一有点学习曲线就怪 Java java1.4/1.5 过来到现在,少说 15 年左右了吧,Java 进步有多大,Jdk 25 都出来了 Java 语法可以说平铺直叙,最多就是一个 streams 需要熟悉点 java 不是一个单一的语言,是整个庞大的组件、库的学习成本,再加上 JVM 和大数据等等 rust ,kotlin ,scala 学习曲线不高?理解度不更难?
致敬老兵! 话说回来,让现在的程序员去动 j2me 、websphere 、ejb 、struct 这些“老古董”才是真的脑子快拧成麻花,SpringBoot 至少能让新手程序员快速上手出货,当今软件开发的模式和 15 年前已经有了非常大的变化,要用变化的眼光去感受整个行业,不能停留在原地固步自封。 就我个人观点而言,SpringBoot 相比于 SSH 、SSH2 等古老架构体系,不仅是 Java 生态的成长,更是解放生产力的工具。
我个人觉得有设计模式其实是好事, 你撸业务逻辑就完了. 理论上设计模式如果能玩 6 应该每个业务逻辑一小块, 好懂好维护. 但它之所以让人反感, 就因为我们实际接触到的设计模式全都套错成四不像了. 现在业务逻辑反过来要强行适应这种畸形的设计模式, 成我去伺候它了? 根本原因还是当时设计架构的时候不够懂业务, 瞎理解瞎套, 什么场景能出现什么场景不可能出现, 这事儿没琢磨明白就开始套, 最后该抠的细节, 成我去兼容它. 不该抠的细节到斤斤计较, 看起来就很 sb. go 就没什么设计模式, AKA 大家一起写流水账吧, 其理念类比 Python, 就没想过要你好好做架构拆分, 往系统化模块化去拆分, 新人上手没难度两三天开写, 没啥设计模式快速出货就完了.
go 和 java 我都用过几年, 现在两个也在使用中, 各有各的优点. 但我自己更喜欢 go, 感觉可控度更强, 简洁有力, 人码合一不敢说, 但心思更多的是在思考业务逻辑和设计上, 很自由, 很惬意