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

10 年后,大家觉得 Java 的地位会不会被 go 或者 node 之流替代掉

  •  
  •   shuperjolly · 2019-07-07 23:04:45 +08:00 · 19302 次点击
    这是一个创建于 1725 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,目前有这个趋势吗?

    135 条回复    2019-07-19 15:50:28 +08:00
    1  2  
    loff
        1
    loff  
       2019-07-07 23:06:08 +08:00
    go 不清楚,node 不会
    arden
        2
    arden  
       2019-07-07 23:14:47 +08:00
    node 就不用考虑了,动态语言天生决定了不适合大规模软件协作。
    kaneg
        3
    kaneg  
       2019-07-07 23:16:50 +08:00 via iPhone
    现在还找不到一种语言如 Java 的这么平衡的语言,语言严谨而不失优雅,跨平台,生态圈异常强大,除了不能写操作系统,几乎覆盖各个应用场景。Java 现在的地位是如日中天,每年那么多毕业生义无反顾的的加入 Java 大军,怎么可能被目前市面上的语言取代。如果有,至少能取代 Java 的语言还没问世。
    Ultraman
        4
    Ultraman  
       2019-07-07 23:19:33 +08:00 via Android
    JAVA:总有刁民想害朕?
    gamexg
        5
    gamexg  
       2019-07-07 23:22:44 +08:00
    node 不会

    如果 oracle 继续作死的话 java 有可能。
    janxin
        6
    janxin  
       2019-07-07 23:27:23 +08:00
    不会,node 现在做胶水层挺好,太多的事情它目前来说也不合适

    Java 长期之内还是需要消化掉这么多人呢,没有需求也会创造需求的
    lhx2008
        7
    lhx2008  
       2019-07-07 23:28:59 +08:00
    Java 在大公司的地位应该是日益下降,因为容器化之后资源占用比 Go 多。在中小公司还是受欢迎的
    ych8398527
        8
    ych8398527  
       2019-07-07 23:29:45 +08:00   ❤️ 7
    可能会被 C#替掉 (笑)
    qiyuey
        9
    qiyuey  
       2019-07-07 23:33:58 +08:00 via Android   ❤️ 1
    宁可相信是 Kotlin
    jingyulong
        10
    jingyulong  
       2019-07-07 23:43:52 +08:00 via iPhone
    会被.Net 干掉
    tonghuashuai
        11
    tonghuashuai  
       2019-07-07 23:56:23 +08:00 via iPhone
    go 不好说,node 肯定不会
    luckyrayyy
        12
    luckyrayyy  
       2019-07-07 23:58:17 +08:00 via iPhone
    不会,Java 这庞大的生态,你有计划的组织大量人员换个语言重写,十年都不够移植的。
    Xbluer
        13
    Xbluer  
       2019-07-08 00:00:40 +08:00   ❤️ 2
    @arden #2 其实吧,只要玩的溜,Java 也能动态,可能你是没见过 Map<String, Object>满天飞的项目。
    hrong
        14
    hrong  
       2019-07-08 00:16:05 +08:00
    go 其实也有 runtime 的,拿 runtime 说事就不对。。。
    youngxhui
        15
    youngxhui  
       2019-07-08 00:20:41 +08:00
    go 还有点可能,node 应该不会
    axwz88
        16
    axwz88  
       2019-07-08 00:35:56 +08:00 via Android
    @Xbluer 我想问 Map<String, Object>这样有什么坏处吗
    luozic
        17
    luozic  
       2019-07-08 01:00:19 +08:00 via iPhone
    @axwz88 类型检查很重要。性能底层优化需要类型确定和长度对齐。
    godoway
        18
    godoway  
       2019-07-08 01:13:56 +08:00 via Android
    如果还是万年不升级 JDK 的话,会!
    面对如此情况,人们还是更愿意选择没包袱的语言,久而久之国内的 Java 环境就越来越惨淡。
    如果是紧跟着新的 Java 走的话,Java 还是很有活力的,已经把开始吸收其他语言的优点了。
    ericgui
        19
    ericgui  
       2019-07-08 01:21:44 +08:00
    typescript ?
    dt2vba
        20
    dt2vba  
       2019-07-08 02:18:10 +08:00 via Android
    Golang 不一定取代 Java,至少是一个强有力的竞争对手。对于我而言,Golang 写起来真轻松。
    version
        21
    version  
       2019-07-08 02:34:05 +08:00
    只能说市场会被切分走吧..因为太烧钱了..只有开发成员多的企业才会使用.
    nodejs 占有率会越来越高而已.可以做一个中间层. java+rpc+nodejs
    10 年编程.其实可以转语言了.不用担心语言..关注自己能做成什么产品
    因为国内开始清退低端程序员.只能说大部分企业团队是这样
    version
        22
    version  
       2019-07-08 02:36:12 +08:00
    @axwz88 当你的类是多层结构的时候.你会很崩溃的.例如 4 层的 json tree 有些外包或者恶心的是这样写.你调试打印就会坑了.
    scnace
        23
    scnace  
       2019-07-08 02:47:48 +08:00 via Android   ❤️ 4
    说出来你可能不信 我司现在正在 Go 转 Java ……
    gowk
        24
    gowk  
       2019-07-08 03:54:31 +08:00 via Android   ❤️ 1
    @scnace 请说出你司的故事
    leopku
        25
    leopku  
       2019-07-08 07:07:57 +08:00 via Android   ❤️ 1
    @scnace 请说出你司的故事
    1424659514
        26
    1424659514  
       2019-07-08 07:36:13 +08:00 via Android   ❤️ 1
    @scnace 请说出你司的故事
    oneisall8955
        27
    oneisall8955  
       2019-07-08 07:55:48 +08:00 via Android   ❤️ 1
    @scnace 请说出你司的故事
    agostop
        28
    agostop  
       2019-07-08 08:33:17 +08:00   ❤️ 1
    @scnace 请说出你司的故事
    Narcissu5
        29
    Narcissu5  
       2019-07-08 09:26:15 +08:00
    占用资源低不一定就是好事

    对于共享资源来说,比如堆内缓存,其实共享者越多性价比越高
    90928yao
        30
    90928yao  
       2019-07-08 09:32:07 +08:00   ❤️ 1
    @scnace 请说出你司的故事
    90928yao
        31
    90928yao  
       2019-07-08 09:32:14 +08:00   ❤️ 1
    @scnace 请说出你司的故事!
    waising
        32
    waising  
       2019-07-08 09:34:04 +08:00   ❤️ 1
    @scnace #23 请说出你司的故事!
    Takamine
        33
    Takamine  
       2019-07-08 09:38:14 +08:00
    Java 是怎么了,一天天的总是各种要被取代。
    好好讨论世界上最好的语言是什么不好吗。:doge:
    myhot21
        34
    myhot21  
       2019-07-08 09:43:47 +08:00
    从企业解决方案或大规模集成应用上来看,node 完全不可能取代,而且以目前使用情况来看,node 会比 java 先早几十年灭亡(更便捷易用的动态语言出现);以目前已发展情况,go 不可能取代 java,至少在企业方案上还差得远,只要 oracle 不作死,go 都难取代 java.
    razertory
        35
    razertory  
       2019-07-08 09:55:41 +08:00
    创业公司中,特别是靠动态语言( Ruby,Python,Node )起家的,几乎不会考虑 Java,不过 JVM 生态中比如 Kotlin 和 Scala 例外
    90d0n
        36
    90d0n  
       2019-07-08 10:04:47 +08:00
    @axwz88 #16 我们接手的一个项目就是 Map<String, Object> 满天飞, 整个项目接参传参全是这个, 一个实体类都没有. 坏处就是, 你只看接口根本不知道要传什么参数, 全靠读代码打断点.
    zjyl1994
        37
    zjyl1994  
       2019-07-08 10:14:47 +08:00
    我司也在 go 转 java,原因嘛,领导 java 出身,外加招的人都是 java 的,微服务 go 慢慢重构到 spring 上
    fredshao
        38
    fredshao  
       2019-07-08 10:25:52 +08:00
    这是一个逐渐的过程,不会一瞬间完成,一个技术,可能慢慢地用的人少了,后面大家就都不用了
    fs20
        39
    fs20  
       2019-07-08 11:12:03 +08:00
    @Takamine 这个话题需要讨论,早就有结果了啊,公认,PHP 啊 :)
    pmispig
        40
    pmispig  
       2019-07-08 11:16:19 +08:00
    java 至少还能占据主流 50 年
    moodasmood
        41
    moodasmood  
       2019-07-08 11:27:20 +08:00
    我们也在 php 转 java
    encro
        42
    encro  
       2019-07-08 12:35:25 +08:00
    最近一年增长最快的就包含 typescript 和 golang,
    typescript 增长应该是超过 golang 的。
    encro
        43
    encro  
       2019-07-08 12:43:01 +08:00
    node 已经是第一大语言:

    npm 包的总量和活跃度是所有其他语言( java,python,golang,ruby,php 等等)的总合。
    npm > java maven + python pypi + golang modules+ RubyGems + composer
    Rwing
        44
    Rwing  
       2019-07-08 12:57:43 +08:00
    @ych8398527 C# +1
    kilen3a
        45
    kilen3a  
       2019-07-08 13:20:15 +08:00
    我觉着 Kotlin 取代 Java 的概率都比 Go 大
    andy1ee11o2
        46
    andy1ee11o2  
       2019-07-08 13:26:45 +08:00
    google 已经开始在 Android 上推 kotlin
    Hanggi
        47
    Hanggi  
       2019-07-08 14:01:21 +08:00
    @kilen3a Kotlin 取代 java 和 java 没被取代其实是一样的,kotlin 还是在大规模使用 java 技术栈。感觉原生的应用推广度没有 swift 来的好。
    996icu
        48
    996icu  
       2019-07-08 14:25:33 +08:00
    @razertory 非也,等到业务线发展起来,迁移是必然的,python 动态一时爽,重构简直火葬场,我们已经在逐步迁移到 Java 平台
    ruyuejun
        49
    ruyuejun  
       2019-07-08 14:30:44 +08:00   ❤️ 3
    结论:不会取代,Java 进化的挺好。
    - Node:NodeJS 在国内的环境中一直被过分看低了,很多人认为 Node 是一层渲染层,顶多做做网关,在当前版本下,Node 无论是易用性、快速开发、业务需求上都足够优秀,完全能够承担中小应用规模,预见在外来会得到本属于他地位的证明,但是取代 Java,可能性为 0。
    - Go:本身是个比较出彩的语言,各方面取得了均衡,我认为是扼杀 Node 的头号敌人。可惜不像 Java 是面向对象的集大成者,也不像 Node 绝对性的异步化,特色鲜明,Go 总是在各方面都弱了一点,写的时候总感觉怪怪的,没有“范式”(不是泛型),不过也有人说这是优点,每个人看法不一样。
    生态的进化非一朝一夕,取代 Java 带来的工程量已经不是数千、数万团队的能够承受的,所以能做的只有催生 Java 自己的进化,这几年,Java8 的诞生犹如 ES6 之于 JS,进化的很成功,所以,可预见的未来里,Java 会一直存在,且一直是其所在领域的一哥。
    PhpBestRubbish
        50
    PhpBestRubbish  
       2019-07-08 14:45:01 +08:00
    除了 Oracle,现在还没有谁能能干掉 Java 吧。
    EDD
        51
    EDD  
       2019-07-08 14:46:41 +08:00
    不会,但会有 Java 阵营会有大批叛逃
    BBCCBB
        52
    BBCCBB  
       2019-07-08 14:51:31 +08:00
    反正我等 java 的 project loom 已经两三年了,还没啥水花。。。 😢
    VinWardZhu
        53
    VinWardZhu  
       2019-07-08 14:54:18 +08:00
    现在许多大公司都在用 Go,甚至小公司也在跟着用,可能有那么一天,估计也要等好久吧
    taotaodaddy
        54
    taotaodaddy  
       2019-07-08 14:54:53 +08:00 via Android
    十年之内应该不会的
    lihongjie0209
        55
    lihongjie0209  
       2019-07-08 14:54:53 +08:00
    node 肯定先死
    razertory
        56
    razertory  
       2019-07-08 14:58:19 +08:00   ❤️ 1
    @996icu 可能我表达不对。创业公司靠着动态语言起家,然后慢慢转移到静态语言。其中的原因我认为最大的在于语言的执行效率分和大规模协作的友好性弱于静态语言。只是这个转移已经有很多不再以 Java 为主语言,举例子如:某条,某乎,某出行,某二次元视频网等(例子中的公司都已有实践分享)。论语言本身有太多可以比较的,也是在这种权衡下 Go 语言也就是这样流行起来了。从宏观上,Go 语言是 2009 年对外发布,Java 则是 1995 年。一方面可以认为 Java 早十年有了大量的实践和进步,反过来也可以认为 Java 已经有了一些 “历史遗留问题”。否则像 Clojure,Scala,Kotin 这些语言也就没有舞台了。
    to2false
        57
    to2false  
       2019-07-08 15:07:01 +08:00
    java 不应该是被 oracle 干掉吗
    Cbdy
        58
    Cbdy  
       2019-07-08 15:08:05 +08:00 via Android
    不会
    YenvY
        59
    YenvY  
       2019-07-08 15:12:11 +08:00
    每隔几个礼拜就要声讨一遍 npm 的社区里就别说 node 取代谁了
    whypool
        60
    whypool  
       2019-07-08 15:13:32 +08:00
    除非甲骨文作死,否则 Java 还能战 10 年+

    或者新出一个语言,专攻服务端

    py,go,node,中小项目可以,但也就止步于此了

    沉淀了几十年的教育+工业标准,要死也难
    Sornets
        61
    Sornets  
       2019-07-08 15:20:03 +08:00
    PHP 真惨,都没人讨论了
    smallpython
        62
    smallpython  
       2019-07-08 15:23:15 +08:00
    java 的历史包袱已经很重了,但是 10 年内人们并不会意识到 java 不是最好的语言
    brust
        63
    brust  
       2019-07-08 15:30:08 +08:00
    node,不可能的
    brust
        64
    brust  
       2019-07-08 15:30:57 +08:00
    @scnace 请说出你司的故事
    uxstone
        65
    uxstone  
       2019-07-08 15:31:10 +08:00
    Java 包管理甩 node go 几十条街
    Phariel
        66
    Phariel  
       2019-07-08 15:45:23 +08:00 via iPhone
    十年前就在说 Java 已死 现在。。。。。。
    strugglexiang
        67
    strugglexiang  
       2019-07-08 15:56:16 +08:00
    @Sornets ????
    version
        68
    version  
       2019-07-08 16:00:19 +08:00
    https://github.com/serverless/serverless
    我觉得是个小趋势..支持的语言很多.
    这样 java8+脱离 spring..我觉得也是不错的发展.搭配其它语言开发项目
    不过呢.这些都是个人开发者或者有创业有技术要求的才会接受新事物...

    老旧派企业.新老换旧快的.还是招 crudbody 就好.不用研究太多.打卡上下班.基本分两条线路.
    charseer
        69
    charseer  
       2019-07-08 16:03:10 +08:00
    那些求问他司故事的人,这还用问吗,你去市场上招招人就知道了。。。找个 java 多好找多便宜,你找个 go 的呢。
    HuasLeung
        70
    HuasLeung  
       2019-07-08 16:11:21 +08:00
    世界潮流浩浩荡荡,顺之者昌逆之者亡。做两手准备,java/go 都要学好。
    index90
        71
    index90  
       2019-07-08 16:11:22 +08:00
    @charseer 你一提到招人,忽然想到这是不是一个可以快速区分培训班程序员和科班程序员的方法?
    linxl
        72
    linxl  
       2019-07-08 16:14:06 +08:00
    我是真有觉得 PHP 被 Go 慢慢蚕食了.
    CuVee
        73
    CuVee  
       2019-07-08 16:16:36 +08:00
    PHP 才是真的可能会,rust 和 go 会抢一些 java 的市场
    guixiexiezou
        74
    guixiexiezou  
       2019-07-08 16:17:27 +08:00
    node 毫无可能,go 有一丝可能。甲骨文不作死的话,java 还能统治 10 年。虽然自己也觉得 java 有各个方面的不足。例如 JVM 配置麻烦,想写一个小工具找包需要配置 maven,启动参数很多不好记,启动方式比不上 node 和 go,但怎么都无法否认,它是均衡性做的最好的语言了,不然当初安神(TS 作者)也不会如此推崇 java 了,不讲 C#,php 这种全抄 java 的,不也一样焕发新春吗
    zjsxwc
        75
    zjsxwc  
       2019-07-08 16:21:48 +08:00 via Android
    看谷歌的发展呗,我觉得会
    tabris17
        76
    tabris17  
       2019-07-08 16:23:50 +08:00
    go 不清楚,但是 node 肯定不行
    westoy
        77
    westoy  
       2019-07-08 16:24:50 +08:00
    十年前, 尤其是敏捷开发概念开始流行开来那会儿各种技术论坛手撕 java 不要撕的太狠

    然后现在 java 地位越来越稳了........
    lostberryzz
        78
    lostberryzz  
       2019-07-08 16:25:23 +08:00
    @index90 你是不是以为现在没有 go 培训班。。
    keelii
        79
    keelii  
       2019-07-08 16:25:40 +08:00
    整天讨论这种哪个编程语言会不会被取代的问题真的是太没技术含量了。刚好最近翻了一篇 2003 年解释关于的 AOP 的文章,快 20 年了,技术的演进过程中还是在不停的解决实际问题。讨论技术问题本身是一种永恒的话题。这比你通过各种对比出来一个临时的结果重要的多。

    https://wtdf.io/104
    gamexg
        80
    gamexg  
       2019-07-08 16:33:54 +08:00
    @index90 #71 go 培训班也开始出现了。
    Eds1995
        81
    Eds1995  
       2019-07-08 16:35:45 +08:00
    rust 怎么说
    likaka
        82
    likaka  
       2019-07-08 16:37:00 +08:00
    做过.net 项目用 java 重构,客户表示换个皮肤为什么要四个月。。。。。
    razertory
        83
    razertory  
       2019-07-08 16:38:00 +08:00
    @Eds1995 我觉得 Rust 是在怼 CPP
    janxin
        84
    janxin  
       2019-07-08 16:39:50 +08:00
    @scnace 请说出你司的故事
    @encro node 已经是第一大语言???
    zzzzzzZ
        85
    zzzzzzZ  
       2019-07-08 16:57:03 +08:00
    什么时候没有这种天天拿 Java 碰瓷的日经贴出现了,Java 就会被取代了
    reus
        86
    reus  
       2019-07-08 17:09:46 +08:00
    @encro 毕竟一个屁大的功能也写个 package
    lowman
        87
    lowman  
       2019-07-08 17:12:35 +08:00
    Golang 的性能比 java 好很多, 现在很多新项目会选择 golang, 而放弃 java, 10 年, 感觉已经差不多了.....
    jitongxi
        88
    jitongxi  
       2019-07-08 17:16:27 +08:00   ❤️ 1
    ....取代个鸡脖哦, 什么时候银行什么的开始用 go node 的时候, 那才有可能取代。
    Salvation
        89
    Salvation  
       2019-07-08 17:43:49 +08:00
    语言背后是生态,单纯的语法都无所谓的,最重要的是解决方案在另外一个平台有没有。。。

    现在看来,java 生态还是很健康的。
    xfriday
        90
    xfriday  
       2019-07-08 17:45:20 +08:00
    go 会的
    libook
        91
    libook  
       2019-07-08 18:00:17 +08:00
    JavaEE 的时代有很多单实例大型系统,但是五年前就开始兴起的微服务让“大型系统”式的设计没那么必要了,每一个微服务只需要考虑自己专注的这一小块就可以了,所以,服务端用什么语言真的没啥大关系,而且选什么技术栈完全看各个技术栈在当前需求场景下的综合 ROI,不是说觉得某一门语言好就从头到脚全用这一门语言。

    不过现在 The hype cycle 的峰值被舆论大幅拉升,以及很多人面向简历编程,Java 最终没落肯定不是因为自己不够好,而是因为无力逆转潮流。
    charlie21
        92
    charlie21  
       2019-07-08 20:06:00 +08:00
    @jingyulong 银行是 Java C# 双开
    charlie21
        93
    charlie21  
       2019-07-08 20:06:20 +08:00
    @jitongxi 银行是 Java C# 双开
    cccy0
        94
    cccy0  
       2019-07-08 22:43:41 +08:00
    生态好啊, 生态很重要, 另外感觉 java 在 oracle 手上不知道能出啥幺蛾子
    121121121
        95
    121121121  
       2019-07-08 22:49:10 +08:00
    rust 和 go
    laravel
        96
    laravel  
       2019-07-08 22:52:19 +08:00
    我觉得 delphi 可能取代 java 的地位
    Chingim
        97
    Chingim  
       2019-07-08 23:03:48 +08:00 via Android
    话不要说太满,serverless 架构下,python/nodejs 之类的动态脚本语言,启动速度比要 java 快得多。
    这种场景还是能吃 java 一些市场的
    monlite
        98
    monlite  
       2019-07-08 23:51:43 +08:00 via Android
    node 从来都没有威胁到过 java,何来取代
    nicevar
        99
    nicevar  
       2019-07-08 23:56:09 +08:00
    node 可能会被 go 干死,java 被 go 取代的可能性很小,可能半路上新玩意干死 go 了 java 还没死
    我的印象中 java 从 03 年开始就要死的了,现在都 9102 年还在死
    Philippa
        100
    Philippa  
       2019-07-09 01:24:27 +08:00
    Golang 像圣骑士,简单直接有无敌,出色的工具链和语言特性,良好的推广会让 Golang 成为常规的编程语言。
    NodeJS 很像德鲁伊,各方面开花,其广度,和前端部分的垄断,我觉得取代 Node 简直痴人说梦。
    Java 像战士,但取代 Java 必然是漫长的过程。假若 Java 继续有发展和持续的资源投入循环,取代它的几率微乎其微。

    作为一个团队和应对不同情况,我觉得圣骑士和战士有很大程度的重合,但无论怎么发展都是比例变化而已。NodeJS 相当的稳。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3024 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 14:40 · PVG 22:40 · LAX 07:40 · JFK 10:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.