V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xypcn
V2EX  ›  程序员

golang 何时干掉 Java

  •  
  •   xypcn · Jun 23, 2018 · 38284 views
    This topic created in 2874 days ago, the information mentioned may be changed or developed.

    用 java 超过 10 年,golang2 年,就这两年的心得来看,golang 应该是能把 java 干死的。 但从招聘反馈的信息来看,java 的高薪资岗位明显多于 golang. 只怪 java 的沉淀太多,有很多事情 golang 可以替代的,golang 的实施成本要低很多,用 golang 的感觉也很舒服,但工作上因放弃 java 吃了大亏

    153 replies    2019-10-10 11:47:48 +08:00
    1  2  
    billlee
        101
    billlee  
       Jun 24, 2018
    JVM 又不是只用来跑 web 业务,golang 什么时候搞个 hadoop/spark/flink/elasticSearch 出来,再说取代 java 的事情吧
    wangxiaoaer
        102
    wangxiaoaer  
       Jun 24, 2018
    @blless #100 所以我一直怀疑我到底是怎么了?大家都说 python go 这种语法简单,写起来快,但是我真的写起来想死,尤其是 python 那个缩进。 不知道是哪里的问题,其实我倒很想尝试 go 的,可惜很遗憾。

    身边没有用 go 的,否则我就可以去弄个结对编程,看看问题出在哪里。 😂
    sneezry
        103
    sneezry  
       Jun 24, 2018 via iPhone
    干掉是不可能的,这辈子不可能的。两者没什么可比性。如果真的可能有一种语言可以干掉 Java,可能性最大的是 C#。
    feverzsj
        104
    feverzsj  
       Jun 24, 2018
    java 根本不适合容器环境,资源占用是死结
    wangxiaoaer
        105
    wangxiaoaer  
       Jun 24, 2018
    @miketeam #70 写 java 不长可以理解,但是建议你熟悉之后再开火,像我向 go 开火前可以真刀真枪用了 go 几个月,最后是在憋不出了。另外,我奇怪你参考 java 写 swift,不应该还是用 swift 的工具链吗,java 工具集咋惹到你了。
    a7a2
        106
    a7a2  
       Jun 24, 2018
    @billlee elasticSearch 差不多功能的 go'项目是有的 其他三个 没留意
    cmuler
        107
    cmuler  
       Jun 24, 2018
    我也是有点晕,什么微服务只是一种人们总结出来的一些架构的指导思想,跟语言有什么关系呢。而且微服务本身就是提倡 polyglot 的。在 vert.x 这样的框架中都已经贴心的把多种语言的接口准备好了。如果说到微服务可能需要的中间件,服务发现,熔断器,api 网关这些 java 的实现会比 go 的要少吗?
    语言来说的话,go 真的是有在进步吗?你至少要用什么 rust 和 swift 来怼 java 还说的过去。
    cmuler
        108
    cmuler  
       Jun 24, 2018
    @wangxiaoaer 没历史包袱的话可以试用一下 vert.x,比 spring 要小挺多的。
    wangxiaoaer
        109
    wangxiaoaer  
       Jun 24, 2018
    @cmuler #108 已经在用了,的确轻便不少。但是感觉周边还是没有 spring 丰富,而且相关资料也少。
    blless
        110
    blless  
       Jun 24, 2018 via iPhone
    @wangxiaoaer #102 python 都觉得上手无力我觉得应该是 tab !!😂用格式化插件或者 save 自动格式化,我觉得 java 或者其他强类型语言转 go 估计都会遇到类型后置,tab 缩进,不完整的面向对象实现😂。不过其实我关注的这些特性别的语言也都可以实现,go 只是提供了一套完备的官方解决方案。个人喜好也不太一样,go 我觉得可能适合我这样觉得项目管理要有规可循的人。但是我觉得程序员本身不应该被语言或者项目规范限制😂
    wangxiaoaer
        111
    wangxiaoaer  
       Jun 24, 2018   ❤️ 1
    @blless #110

    其实我总结了下,我就是离不开 IDE。

    比如 Java,类库引入后,只要了解到这个库核心有哪些类就开干,至于这些类的方法,基本上不用看不用查,自动提示靠猜就差不多了。比如对某个字符串做什么操作,直接输入 "xx". 就够了,剩下等着 ide 弹给你吧。js 也差不多。

    但 python 这种就不行,当年想对字符做处理的时候感觉很无力,你不知道改用那个方法,去 google、或者看文档是唯一的办法(除非之前用过,并且记下来了),而 java 的方法都在对象里面。

    相比较而言,golang 好很多了,IDE 提示也还行,就是感觉偏底层。
    sagaxu
        112
    sagaxu  
       Jun 24, 2018
    @blless 资源泄露和 CPU 占用,JVM 上也有很多成熟的工具,Oracle JVM 内置的 JFR 就很强大了。

    @wangxiaoaer Go 没有范型和 Exception,语法是很简陋,写起来快不假,但是要手写很多语法糖能解决的格式代码。
    abcbuzhiming
        113
    abcbuzhiming  
       Jun 24, 2018
    @cmuler 虽然我也是靠 Java 吃饭的,但是你说“ Java 这么优秀的语言”?我就笑了,Java 是靠生态圈吃饭的好吗,它语言层面上哪里优秀了,旁边有个叫 C#的看着你呢,更别说还有那些新秀。说 Java 生态圈强大没人会说啥,说“优秀的语言”就搞笑了
    abcbuzhiming
        114
    abcbuzhiming  
       Jun 24, 2018
    @Monstercat 我 eclipse inteJ,VS 都用过,前两者是不错的 IDE,但是你想和 VS 比?
    miketeam
        115
    miketeam  
       Jun 24, 2018 via iPhone
    为撒评价一门语言的好坏一定要深入了解他个 1-2 年?作为入门的人最适合了。感觉到不合适的就是丑陋的。就我先前说的你就说存不存在吗?不能用你这几年被 Java 强迫习惯了的用法或者工具当正统,当有人说交互不够友好,开发不够方便那就是政治不正确。坦白说 vs 或者 Xcode 本来就比 ij 友好,强大你要死不承认那也是没办法了
    elgae
        116
    elgae  
       Jun 24, 2018 via Android
    啥,Xcode 比 ij 好? eclipse 不是工业级 IDE ?
    yuyueMJ
        117
    yuyueMJ  
       Jun 24, 2018
    看完所有的评论和回复,真心觉得这是 引战问题, 没有啥意义啊,我们中的大部分人只是站在既有的经验和角度上去思考问题。很容易忽略客观因素和大环境。多关注问题和元认知, 工具 自己用着舒服就好, 就好像有的老程序员敲了一辈子双飞燕, 我们现在动不动就是青茶红奶轴,只是工具啊。
    miketeam
        118
    miketeam  
       Jun 24, 2018 via iPhone
    你如果觉得能写就是工业级那我也没办法,那记事本就是宇宙工业级的 ide 了,完不反驳
    asahui
        119
    asahui  
       Jun 24, 2018   ❤️ 3
    为什么一个有 12+年以上的程序员会问出这样的问题。
    miketeam
        120
    miketeam  
       Jun 24, 2018 via iPhone
    干嘛不允许人怀疑吗!如果有一天有数学家和你质疑一加一等于二的问题,你应该让他给你签名,因为这个人可能是个天才
    balabalababala
        121
    balabalababala  
       Jun 24, 2018
    java 的生命力太强了,应该的领域太广,很难替代
    explicit
        122
    explicit  
       Jun 24, 2018
    100 年以内不可能
    askfilm
        123
    askfilm  
       Jun 24, 2018
    v 质量越来越低了, 痴人说梦,新东西就一定就是好东西? 我倒觉得成熟的方案才是最可靠的! 再说了指不定明年会出来个 comelang 呢
    youxiachai
        124
    youxiachai  
       Jun 24, 2018   ❤️ 1
    @miketeam 居然有人夸 xcode ???
    WinMain
        125
    WinMain  
       Jun 24, 2018
    我估摸着明天就能干掉!
    gemini767
        126
    gemini767  
       Jun 24, 2018 via Android   ❤️ 3
    java10 年白写了。。。编程经验十几年居然还认为语言是工程的关键。。或者说你其实就是为了引战?
    FunnyCodingXu
        127
    FunnyCodingXu  
       Jun 24, 2018
    楼主十年 Java 到底把 Java 和 Jvm 和语言底层吃透了多少?
    notreami
        128
    notreami  
       Jun 24, 2018
    PHP 说要替代 Java
    C#说要替代 Java
    Ruby 说要替代 Java
    NodeJS 说要替代 Java
    Scala、Kotlin 说要替代 Java
    Golang、Swift、Python 说要替代 Java




    一群国产手机颠覆 iphone 发布会即视感,做好自己编程语言擅长的不好嘛?真想替代,麻烦先把 Java 擅长的场景覆盖了,让开发人员学这门语言就不需要了解 Java 任何技术。
    lujiajing1126
        129
    lujiajing1126  
       Jun 24, 2018 via iPhone
    什么?大清又亡了?
    jowuIM
        130
    jowuIM  
       Jun 24, 2018
    没有这个时候,二者目标不一样,还不如问 Javascript
    gowk
        131
    gowk  
       Jun 24, 2018 via Android
    这么说吧,Java 是门好语言,未来还将长期存在,Go 发展越来越好,新项目建议使用,Rust 我觉得不太可能发展起来
    cocode
        132
    cocode  
       Jun 24, 2018
    @xypcn 额,关于进步这件事嘛,我真不觉得换个语言就是进步。。。语言其实能满足那些常见的功能也就行了,不用太花里胡哨。

    其次关于取代这件事,我觉得取代的不是语言,而是生态环境。你可能要说了,我只要把 Java 生态的那些组件也用 go 写就好了,首先,在你写这些的时候,别人的生态可能有更大的发展了,其次,如果你新写的东西没有足够的吸引力——例如性能的大幅度提高,别人是不会换的。

    然后嘛,关于 docker,与其说是 go 大发神威,不如说说 linux 的大发神威,毕竟 docker 重度依赖的是 linux 里 namespace,cgroup 等,go 只是让他们更好用了,换个语言也可以实现,但是没人想起造轮子,所以你真想让这个语言发展壮大不如好好想想你能先用 go 把那个领域给开辟了,到时候自然有人会去学习研究的,这不比当传教士好多了。

    最后嘛,微服务方面没用过 go,不过 go 在分布式领域里倒是挺不错的,最近也因为 MIT6.824 在学。
    Rorysky
        133
    Rorysky  
       Jun 24, 2018
    @Raymon111111 #6 谁说不可能的? 换个 cto 看看
    Discuss
        134
    Discuss  
       Jun 24, 2018
    golang 取代 java 是肯定的事情,毕竟晚出生这么多年,没有历史包袱从零开始设计,站在那么经验的积累之上。当然劣势自然就是生态建设不少一朝一夕之功,或许 5 年之后或许 10 年之后吧
    murmur
        135
    murmur  
       Jun 24, 2018
    @Discuss 上一个这么吹的语言是 dart 吧
    这语言是不是也是 google 发明的啊
    jason19659
        136
    jason19659  
       Jun 24, 2018 via Android
    现在也开始有 golang 吹了?
    z3jjlzt
        137
    z3jjlzt  
       Jun 24, 2018
    是生态的问题,
    要是 golang 用的人多,
    那就明天吧
    lengleng
        138
    lengleng  
       Jun 25, 2018
    明天
    Raymon111111
        139
    Raymon111111  
       Jun 25, 2018
    @Rorysky 这种人当不了 cto
    vncntd
        140
    vncntd  
       Jun 25, 2018
    golang 这门语言相比 java 设计缺陷太多,很多自以为是的设计。包括生态也不如 java 成熟,要踩的坑很多,我不看好它的后续发展。
    fengche361
        141
    fengche361  
       Jun 25, 2018
    之前 PHP 也这么想过
    miketeam
        142
    miketeam  
       Jun 25, 2018 via iPhone
    swift 没说要替代 Java,不要挖坑好吧!
    xuecat
        143
    xuecat  
       Jun 25, 2018
    说得好,我家 nodejs 天下第一
    youxiachai
        144
    youxiachai  
       Jun 25, 2018
    @Discuss jvm 语言了解一下??无缝对接 java 生态......真不明白吹语言特性的..还能有 jvm 上的五花八门语言强..orz
    spice630
        145
    spice630  
       Jun 25, 2018
    又在打嘴仗,没意义
    Navee
        146
    Navee  
       Jun 25, 2018
    大家都给我 PHP 一个面子,不要再吵了!
    yaidev
        147
    yaidev  
       Jun 25, 2018
    下次麻烦了解清楚再开炮,免得丢人现眼。
    ren2881971
        148
    ren2881971  
       Jun 25, 2018
    go 死了 java 都不会死。。
    24bit
        149
    24bit  
       Jun 25, 2018
    干掉 java 有什么好处 ? 编程语言的排名就那么重要吗 ?
    sn01615
        150
    sn01615  
       Oct 1, 2018
    @24bit java 的公司很流氓
    dhairoot
        151
    dhairoot  
       Nov 24, 2018
    @cmuler 同样觉得 Java 的设计很优雅,go 连一个好的包管理工具都没有很难受
    zgqq
        152
    zgqq  
       Jun 21, 2019
    现在用 golang 的公司确实变多了
    arraysnow
        153
    arraysnow  
       Oct 10, 2019
    @MeteorCat 我们可没说过要用 c#替换 Java······而且公司很早就做容器化了,据说目前有全球最大的 k8s 集群,相比商用服务便宜得不要不要的
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3958 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 131ms · UTC 10:27 · PVG 18:27 · LAX 03:27 · JFK 06:27
    ♥ Do have faith in what you're doing.