V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xypcn
V2EX  ›  程序员

golang 何时干掉 Java

  •  
  •   xypcn · 2018-06-23 23:04:32 +08:00 · 36576 次点击
    这是一个创建于 2380 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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




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

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

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

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