V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dog82
V2EX  ›  Java

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

  •  1
     
  •   dog82 · 20 天前 · 9376 次点击

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

    89 条回复    2025-11-09 12:37:21 +08:00
    rockddd
        1
    rockddd  
       20 天前   ❤️ 2
    自从用了 claude ,感觉什么语言区别不大了,不会的也能上手
    nkidgm
        2
    nkidgm  
       20 天前   ❤️ 1
    @rockddd 对,有 AI 的加持下,语法层面没啥区别,恶心语法让 AI 去咀嚼,最重要是自己熟悉各语言最适合的使用场景,在选好语言后就让 AI 去写就行了。
    xiaomushen
        3
    xiaomushen  
       20 天前   ❤️ 1
    spring cloud 本来就是垃圾山,有多恶心是多恶心
    akajoker
        4
    akajoker  
       20 天前
    java 没啥语法糖吧
    xubeiyou
        5
    xubeiyou  
       20 天前
    Java 生态好就容易这样,前期各种造轮子 集成功能越来越多 代码就越来越臃肿。语法糖也是因为之前语法缺失过于繁琐。
    crossoverJie
        6
    crossoverJie  
       20 天前
    抛开技术框架,就语言本身来看,现在最新的 JDK25 已经比以前优雅很多了,推荐让 AI 生成最新的代码参考下。
    cmdOptionKana
        7
    cmdOptionKana  
       20 天前
    你接触的语言太少了,Java 语法算简单的。不过最近几年各大语言疯狂添加新语法、新特性倒是真的。
    wizzer
        8
    wizzer  
       20 天前
    budwk.com 非 Spring ,学习成本和使用成本比较低
    roundgis
        9
    roundgis  
       20 天前 via Android
    Use kotlin
    Goooooos
        10
    Goooooos  
       20 天前
    我还嫌 java 语法糖太少了
    HojiOShi
        11
    HojiOShi  
       20 天前   ❤️ 2
    本来想说“什么? java 还很多语法糖”,看到 lz 是从 java1.4 时代过来的老人,对这种这么多年还在代码一线奋战的老兵只有敬意。
    Narcissu5
        12
    Narcissu5  
       20 天前
    什么? Java 语法糖多😳
    kandaakihito
        13
    kandaakihito  
       20 天前   ❤️ 4
    现在使用量最大的几种语言,js 、ts 、py ,哪个语法糖不比 jvav 多。。。?语法糖熟练了之后才是真的爽(

    倒不如说 golang 才是真的有点逆天,原生库甚至不能对 slice 进行 distinct ,还得搁那 for
    jackOff
        14
    jackOff  
       20 天前
    看项目体积和业务量,可以评估要不要使用一些庞大的框架和架构,不是所有项目都适合 spring 全家桶
    yongdaimi
        15
    yongdaimi  
       20 天前
    你是没用 kotlin, kotlin 项目到一定量级之后,根本看不懂,相比之下 java 还算好的了。
    Ketteiron
        16
    Ketteiron  
       20 天前
    @crossoverJie 还是远不如 kt ,kt 至少能少写一半废话
    migu
        17
    migu  
       20 天前
    为啥有人觉得 kt 好啊,一堆的关键字、语法糖看的脑壳疼,不借助文档和 AI 根本没办法入手
    hafuhafu
        18
    hafuhafu  
       20 天前
    java 糖还多啊...
    而且不是看自己需求么,选择权完全在你手里,单纯 Spring Boot 单体完全够应付 99%的需求了。
    你上来就非要整什么微服务放哪个语言不是都一样么。
    DonaldY
        19
    DonaldY  
       20 天前
    去用下 kt 、scala 再看看 0.0
    anonydmer
        20
    anonydmer  
       20 天前
    第一次听说 java 的语法糖多...
    dog82
        21
    dog82  
    OP
       20 天前   ❤️ 1
    @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
        22
    issakchill  
       20 天前
    java 有啥语法糖的?...
    chenmobuys
        23
    chenmobuys  
       20 天前
    都是嫌 java 语法糖少的,头一次看到嫌弃语法糖多的。。。
    ohoh
        24
    ohoh  
       20 天前
    java 是设计模式多,随便一个框架,上来就是各种设计模式,但是那是人家框架搞好了的,其他的就是按部就班的开发就是。要知道以前面试,会设计模式会比较有优势
    mmdsun
        25
    mmdsun  
       20 天前
    这个问题很简单 spring boot + Kotlin 。不喜欢 spring 可以换成 Vert.x + Kotlin
    Wh1te
        26
    Wh1te  
       20 天前
    @Narcissu5 OP 应该是纵向对比的,现在的 Java 和 1.4 1.5 时代的 Java
    zhazi
        27
    zhazi  
       20 天前   ❤️ 1
    拉不出屎怪地球没引力
    XDiLa
        28
    XDiLa  
       20 天前
    语言只是工具,你对这个语言不满 那你就创造一个满意的语言让大家用啊。天天一副怨妇的样子。真让人且嘘
    reeco
        29
    reeco  
       20 天前
    是你老了,学不动了
    chendy
        30
    chendy  
       20 天前
    java 这套玩意使用成本要是真的高,就不会随便找个人培训两天就拉出一吨微服务了
    最干干巴巴没意思的语言,写多了都能编程阳痿,还能吐槽这么多只能学不动了
    Ayanokouji
        31
    Ayanokouji  
       20 天前
    你骂 java 和 spring boot 不行
    你骂 spring cloud ,我举双手赞成
    yolee599
        32
    yolee599  
       20 天前 via Android
    那是 spring 的问题,不是 java 的问题,java 代码风格还算统一的了,随便换人都能看懂
    xiaowangge
        33
    xiaowangge  
       20 天前 via iPhone
    Java 语法糖真不多。

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

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

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

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

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

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

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

    go 就没什么设计模式, AKA 大家一起写流水账吧, 其理念类比 Python, 就没想过要你好好做架构拆分, 往系统化模块化去拆分, 新人上手没难度两三天开写, 没啥设计模式快速出货就完了.
    sky3hao9
        39
    sky3hao9  
       20 天前
    go 和 java 我都用过几年, 现在两个也在使用中, 各有各的优点.
    但我自己更喜欢 go, 感觉可控度更强, 简洁有力, 人码合一不敢说, 但心思更多的是在思考业务逻辑和设计上, 很自由, 很惬意
    kneo
        40
    kneo  
       20 天前
    但凡你能举个例子出来。
    octocatami
        41
    octocatami  
       20 天前
    swift 那语法糖,多的不要不要的
    rb6221
        42
    rb6221  
       20 天前
    有 2 种可能:要么是你常年写简单逻辑,没有写过复杂逻辑,也不喜欢复杂逻辑;要么是你不喜欢他的语法本身。
    那么为了论证这个问题,评价一下现代的 php 吧。
    howfree
        43
    howfree  
       20 天前
    无能狂怒
    bobox
        44
    bobox  
       19 天前   ❤️ 1
    一直觉得 spring boot 毁了 java
    liangdi
        45
    liangdi  
       19 天前
    成也 spring boot 败也 spring boot ?
    crackidz
        46
    crackidz  
       19 天前
    Java 其实还好,只是写 Java 的人,恶心的太多了
    Leviathann
        47
    Leviathann  
       19 天前
    鉴定为没学过 swift 导致的
    NESeeker
        48
    NESeeker  
       19 天前   ❤️ 7
    go 学长这招太狠了
    zhady009
        49
    zhady009  
       19 天前
    @howfree 确实 SpringBoot 还不够轮椅说是,Java 太甜了有点难绷
    7beloved
        50
    7beloved  
       19 天前
    Java 依旧是业务开发第一语言
    anivie
        51
    anivie  
       19 天前
    java 有语法糖?
    ychost
        52
    ychost  
       19 天前
    @xiaomushen #36 Go 和 Kotlin 我写了不少,Go 写起来还是很费劲的,代码量比较大
    siweipancc
        53
    siweipancc  
       19 天前 via iPhone
    ai 写的代码更是狗屎好嘛,我都得给它思路优化代码不然能把我内存干爆
    xulolololololo
        54
    xulolololololo  
       19 天前
    人生苦短,我用 python
    nicocho
        55
    nicocho  
       19 天前 via Android
    @dog82 哈哈,实习时候的团队就是做就 j2me,隔壁团队做塞班的
    unco020511
        56
    unco020511  
       19 天前
    你都用 java 了还有啥好吐槽的,这种语言再怎么改也很难用
    yannxia
        57
    yannxia  
       19 天前
    其实完全可以用 Go 的那种写法来写 Java ,其实也挺干净的,Java 主要写的人都被一套模式给套住。
    Vaspike
        58
    Vaspike  
       19 天前
    spring cloud 给 spring boot 提鞋都不配
    queifa
        59
    queifa  
       19 天前
    Java 语法糖不多吧,看看隔壁几个语言就知道了
    craftsmanship
        60
    craftsmanship  
       19 天前 via Android
    Go 和低版本 Java 写得多了 肯定会嫌现代语言糖多 糖多的语言写多了 反过来还会嫌弃 Java 怎么这么啰嗦难用
    darkengine
        61
    darkengine  
       19 天前
    Java 只是啰嗦 - 为什么啰嗦?就是因为语法糖太少了
    JoeDH
        62
    JoeDH  
       19 天前
    Java 写东西很舒服,特别现在 AI 帮你把那些罗里吧嗦的玩意写了,关键逻辑让自己写,那就更舒服了
    bbbblue
        63
    bbbblue  
       19 天前
    java 语法糖多???????🤣🤣🤣🤣🤣
    charles0
        64
    charles0  
       19 天前 via iPhone
    Java 才这点语法糖,看看隔壁的 C#,真学不过来啊
    whyrookie
        65
    whyrookie  
       19 天前
    已经好久没写 Java 了,都用 Kotlin
    xieshaohu
        66
    xieshaohu  
       19 天前
    Java 、Python 、TypeScript ,还是觉着 Python 最干练。
    MindMindMax
        67
    MindMindMax  
       19 天前
    问题不在 java ,在于你用了 golang 后再用回 java
    Belmode
        68
    Belmode  
       19 天前   ❤️ 1
    术业有专攻,不同语言有不同领域的用途,从不搞歧视,不捧一踩一
    在不同的项目上,都是我干活盈利的利器
    9RWBdC758updU311
        69
    9RWBdC758updU311  
       19 天前   ❤️ 1
    AI ,已经,攻破,一切
    sunmker
        70
    sunmker  
       19 天前
    C# 语法糖也多
    kylix
        71
    kylix  
       19 天前
    kotlin 挺好的啊,用了后有点回不去 java(8)了
    NickX
        72
    NickX  
       19 天前
    1.4/1.5 。。。十多年了吧。。。
    dragondove
        73
    dragondove  
       19 天前
    spring boot 的学习成本很低,低到不太会 java 的人经过简单培训就能写后端 json api ,有些学校安排的培训可能只有一个月都能学会(还包括数据库之类的)
    holdeer
        74
    holdeer  
       19 天前
    java 已经算是中间复杂的了,感觉这几年 python 复杂度都超过 java 了
    dif
        75
    dif  
       19 天前   ❤️ 1
    1.5 时代的 java 猿,也写点 python ts go ,java 不过是罗嗦点,在有代码辅助工具的情况下,这些了啰嗦也可无视了。java 后需要借鉴了很多好用的特性(主要是向 scala )。目前只用到 java17 。哪怕是那些抱着 1.6 的老玩具,也可非常低成本的切换到 java17,你要说新特性是语法糖,我倒不觉得。

    好像新兴语言只要火起来,必要拿 java 鞭尸一顿。PS:即使升级到 java11 ,我还见过 List<String> s = new ArrayList<String>()。而且几乎大家都在用 idea,右边这个就算你手写上去也会有特殊颜色提示你可以不写,但有极少数人还这么写- -。当然,并不会报错。
    kdd0063
        76
    kdd0063  
       19 天前
    来自 1.5 版本选手的锐评
    sunrain
        77
    sunrain  
       19 天前
    希望 kotlin 可以一统天下
    xiaomushen
        78
    xiaomushen  
       19 天前
    @ychost 代码量以前是个问题,现在 AI 生成一些,倒也没觉得啥了。
    Go 的好处是,无论高手还是初哥,写出来的东西都很朴素,都能方便接手的人读懂
    Gilfoyle26
        79
    Gilfoyle26  
       19 天前
    java 不行不是 java 的问题,要多从自己身上找找原因
    Torpedo
        80
    Torpedo  
       19 天前
    @kandaakihito #13 ts 有啥语法糖?
    Qds
        81
    Qds  
       19 天前
    语法糖这块,微软家的 C# 还是更胜一筹
    kandaakihito
        82
    kandaakihito  
       19 天前
    @Torpedo 我的母语是 jvav ,凡是 jvav 中没有的东西都算语法糖(暴论
    BestPix
        83
    BestPix  
       18 天前
    我觉得你嫌弃的其实是人。
    wogogoing
        84
    wogogoing  
    PRO
       18 天前 via iPhone
    关键是 Java 本来就是甲骨文的呀(哈哈
    realpg
        85
    realpg  
    PRO
       18 天前
    单纯你吐槽这些东西 我这么黑 java 都不太觉得

    我讨厌 java 就两点:
    1. 过度抽象 无必要抽象 对外也这么给接口
    2. 面向注解编程 逻辑都在注解里
    LittleFox
        86
    LittleFox  
       18 天前
    @yongdaimi 大项目感觉还是要统一一下语法糖吧,不然参差不齐的语法糖看着确实难受
    lca261224
        87
    lca261224  
       18 天前
    @migu 主要是相比原生 java 相比,代码量普遍会比较少,并且也更容易理解,借助文档和 AI 不都是学习的必须的步骤
    LeegoYih
        88
    LeegoYih  
       16 天前
    Spring 那一套东西真的是手就行,有多少 Java 程序员离开 Spring 代码都不会写了。
    用 WebLogic 写分布式系统那才是一坨💩😅
    johnnyyeen
        89
    johnnyyeen  
       16 天前
    以前基本啥语言都做过产品和项目,就是没用过 java 。
    最近因为需要在已有项目上做改造,不得不用 Java 做。好吧,基本上就是用一套看起来庞大臃肿的语言和框架做着 CRUD 的事情,再加上微服务和过度设计...,您猜怎么着?加个 web api 能都改 30 个文件。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5243 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 06:45 · PVG 14:45 · LAX 22:45 · JFK 01:45
    ♥ Do have faith in what you're doing.