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

大家怎么看待 Java 的未来

  •  
  •   Neojoke · 2018-11-20 15:24:41 +08:00 · 21576 次点击
    这是一个创建于 2195 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 偏向业务的中前端开发,nodejs、Python、Ruby on rails,写业务都比 Java 快
    2. 偏向底层的没有 C/C++对操作系统友好,Rust 也后来居上
    3. 中间件产品,目前 Go 语言蓬勃发展,Http Service、消息中间件、分布式计算框架,Go 可用性非常高的产品正在崛起,性能比 Java 要好
    4. Oracle 对 JavaEE 的态度,有些危险
    5. 大数据、人工智能,这些热门,Java 虽然都能沾上,但使用起来太啰嗦

    大家怎么看待 Java 未来的发展

    218 条回复    2018-11-22 12:23:56 +08:00
    1  2  3  
    andychen20121130
        1
    andychen20121130  
       2018-11-20 15:51:06 +08:00
    已经入门了是不是要开始放弃了
    lhx2008
        2
    lhx2008  
       2018-11-20 16:02:27 +08:00 via Android   ❤️ 4
    未来好得很,如果不想上就跳车呗,去用 nodejs 和 go
    开发。
    以长比短,不能代表这个语言不行,楼主何苦用所有主流语言的长处攻击 Java,如果 java 没有被比下去,那么其他语言不应该再存在了
    nilrust
        3
    nilrust  
       2018-11-20 16:02:59 +08:00
    一次编写到处运行,jvm 光环加持下,java 不会死的
    Wincer
        4
    Wincer  
       2018-11-20 16:04:23 +08:00 via Android   ❤️ 9
    Java 的生态就不是其它语言能比拟的
    NSAtools
        5
    NSAtools  
       2018-11-20 16:05:02 +08:00
    Java 适合团队协作
    starcraft
        6
    starcraft  
       2018-11-20 16:06:31 +08:00 via iPhone   ❤️ 2
    根本看不懂你在说啥。java 生态自始至终,都有其他语言小型框架,公司小业务小,没人逼着用 java,找到合适自己的就行。那些个大型的互联网,你要不数数多少已经转 java 了。同样,java 在扩张生态的时候,一直有和 c/c++的性能矛盾,你问前景,怎么不看看 java 是如何一步步走过来的。关于大数据,不知道你的认知是出了什么偏差,觉得 java 是沾个边。唯一看懂得是 go 的崛起,关于这个,建议搜一搜招工岗位数量级的差别。
    zhazi
        7
    zhazi  
       2018-11-20 16:10:20 +08:00 via Android
    先说说为什么写业务比 java 快
    ghbaqi
        8
    ghbaqi  
       2018-11-20 16:11:16 +08:00
    还没到担忧和考虑 语言前景和好坏 的时候 .....
    jitongxi
        9
    jitongxi  
       2018-11-20 16:12:06 +08:00   ❤️ 5
    对于多路复杂业务型的东西, 同时用这几个语言写, 可能 java 前几天就一直在弄骨架,其他的已经开始正式写了。

    但是过了一年之后,
    如果继续开发的话,估计只有 java 的扩展起来最舒服;
    如果写的人都走了的话,估计只有 java 的版本,能轻易给人接手;

    java 项目是大后期,关键前期得养好了。
    rykinia
        10
    rykinia  
       2018-11-20 16:15:33 +08:00   ❤️ 2
    出货快,再快能快多少嘛
    更新和维护花的精力才是最多的

    如果都没有注释或写得太简单,java 写的还能抢救一下,python 写的简直让人绝望
    w11th
        11
    w11th  
       2018-11-20 16:16:36 +08:00
    Java 还来操心未来? Rubyist 要打人了。
    bk201
        12
    bk201  
       2018-11-20 16:21:33 +08:00
    先说你几年 java 开发吧?
    1.写业务都比 Java 快(你喜欢语法糖完全可以用其他 jvm 语言),而且在多人合作方面没有比 java 更清晰的语言,语法糖越多阅读难度越大.
    2.底层开发什么鬼?
    3.性能比 java 好,你确定吗?那么快下结论真的好么?那么阿里为什么不用 go 去支撑那么大的并发量?
    4.oracle 的态度目前没看出怎么样.按 google 的尿性,是不是也得担心把 golang 舍弃又出新语言?担心未来的事情,未来 oracle 还在不在都是问题.
    5.Java 虽然都能沾上?你开玩笑么,那么多开源产品的实现都是 java
    12101111
        13
    12101111  
       2018-11-20 16:23:53 +08:00 via Android
    Java,.Net ,PHP 不更新了吗,当然还在更新,只要还在维护那就有人会用。MFC 还有人用呢。语言/框架的使用明显有滞后性,不是说新的语言出来旧的就不行了。
    Java 所谓的生态,不如说是大多数人的惯性。Java 迟早会被代替掉的,就像 win32 桌面开发一样,保持学习能力,多学点新的,别过了几年十几年,还在说一次编写到处运行什么生态好,win32 生态好不好,jQuery 生态好不好,还不是说淘汰就淘汰了。
    Neojoke
        14
    Neojoke  
    OP
       2018-11-20 16:25:26 +08:00
    @starcraft 这帖子就是个讨论帖子,没必要以教育人的方式罗列一些跟题目不沾边的东西,所谓未来,就是以后会怎么样
    Neojoke
        15
    Neojoke  
    OP
       2018-11-20 16:27:30 +08:00
    @bk201 讨论一下未来是需要报一下自己开发多少年?
    swordne
        16
    swordne  
       2018-11-20 16:29:04 +08:00
    PHPer 都羡慕死 JAVA 的生态圈了,你这用他人长处攻己短处是什么操作=。。=?
    TommyLemon
        17
    TommyLemon  
       2018-11-20 16:30:42 +08:00
    @lhx2008 @Wincer @starcraft @zhazi @jitongxi @rykinia @bk201
    楼主说那些动态语言写业务比 Java 快,肯定是对 Java 的生态有什么误解,
    Java 都出了 全自动化 增删改查 的 开源库了,动态语言写得再快能快过不写代码?
    https://github.com/TommyLemon/APIJSON
    TommyLemon
        18
    TommyLemon  
       2018-11-20 16:31:08 +08:00
    TommyLemon
        19
    TommyLemon  
       2018-11-20 16:31:16 +08:00
    bk201
        20
    bk201  
       2018-11-20 16:31:38 +08:00
    @Neojoke 先问是不是,再问其他.你对你自己列举的问题都一知半解,就去问 java 的未来,我只能默认你刚刚接触 java,对 java 抱有抵触情绪.
    Neojoke
        21
    Neojoke  
    OP
       2018-11-20 16:32:48 +08:00
    @swordne 年轻人,只是个讨论帖,take easy~
    如果有人告诉你,Java 的生态在 CPAN 面前是个渣,你会不会更惊讶是什么操作
    Neojoke
        22
    Neojoke  
    OP
       2018-11-20 16:34:06 +08:00
    @TommyLemon 估计你是对不写代码有误解,graphQL 了解一下
    lihongjie0209
        23
    lihongjie0209  
       2018-11-20 16:35:09 +08:00
    @12101111 无知者无畏
    cmonkey
        24
    cmonkey  
       2018-11-20 16:35:25 +08:00
    Java 确实不行,大家还是玩 Scala 吧
    zjsxwc
        25
    zjsxwc  
       2018-11-20 16:36:51 +08:00
    作为半吊子全栈,用 java 写安卓、c#写桌面 gui、用 php 写后端、用 js 写前端,

    我表示多语言并存才是常态
    Neojoke
        26
    Neojoke  
    OP
       2018-11-20 16:37:07 +08:00
    @bk201 所以你介意的是别人对 Java 有抵触,并不是在意 Java 未来会怎么样这个问题对吗?
    to2false
        27
    to2false  
       2018-11-20 16:37:41 +08:00
    其他语言 er 来吃瓜
    TommyLemon
        28
    TommyLemon  
       2018-11-20 16:37:42 +08:00
    @Neojoke 说出这种话只能说你对 GraphQL 根本就没了解清楚,看下这个对比就知道了
    https://juejin.im/post/5ae80edd51882567277433cf
    bk201
        29
    bk201  
       2018-11-20 16:39:24 +08:00
    @Neojoke 很明显,你是个很会纠缠的人.我首先是对你列举的问题进行否定,至于未来,谁能知道未来?你能知道以后 java 会推出什么新特性?有意义么讨论未来?
    Lonely
        30
    Lonely  
       2018-11-20 16:40:36 +08:00   ❤️ 2
    @Neojoke 发了这么充满火药味的一个帖子,你确定你是在讨论?
    zhaogaz
        31
    zhaogaz  
       2018-11-20 16:41:54 +08:00
    水平不够,看不到太远.只对标题评论

    短时间内(10 年),不会有大变化.因为这么一大堆公司都用着呢,

    更长时间就看不懂了,应该不会落到 cobol 的境况吧?

    当然时间再长点的话,肯定都要被遗弃的,技术就是这样的啊
    xiaoyunwei2
        32
    xiaoyunwei2  
       2018-11-20 16:44:55 +08:00
    java 也算广泛使用了几十年吧 要想取代也不是一朝一夕的事。
    编译型语言 还是看好 c++和 java,go 还太年轻。
    而且懂了 java 往别的语言转也不是很难
    Neojoke
        33
    Neojoke  
    OP
       2018-11-20 16:45:30 +08:00   ❤️ 2
    @lihongjie0209 确实是无知者无畏
    很多年轻人,写了几年代码,不知道还有个更庞大的生态叫 CPAN
    很多闷在自己技术栈的人,不知道开源界的 trending,不知道 nodejs 的生态增长速度早已经超过了 Java
    很多眼里只有 BAT 的程序员里,根本不了解国外的情况,Google 算大了吧,主要开发语言是 C/C++、Python、搜索引擎的业务部分使用 Dart,Android 部分在大规模的使用 Java,其他的系统少量使用 Java,Rust 开始做数据库驱动底层和安全系统
    微软,只有云平台 Azure 虚拟化 Linux 平台使用 Java
    Facebook,大量使用 Java、Python 和 nodejs,Java 只做中间件,C/C++做核心通讯层和操作系统底层架构
    还有一些程序员觉得 Hadoop 生态、storm 这些就是大数据的全部?关于数据清洗、数据挖掘、数据建模、数据分析,这些大数据相关的东西,拜托千万多去看看 MYC Academy,IBM data science 那些数据科学相关的主流网站,看看那些搞大数据的数据科学家用的都是什么语言,看看路透的量化分析系统,用什么写业务相关代码
    @zjsxwc 说的最后一句话我希望大家都好好体味一下,Java 过去和现在,的确是什么都可以做,生态最大,但是系统总归是异构,未来随着其他语言生态的逐渐完善,语言开发格局不是一成不变的,要有动态的眼光去看待
    liuxey
        34
    liuxey  
       2018-11-20 16:45:42 +08:00
    看了楼主在这个贴 https://www.v2ex.com/t/509601 #12 楼的发言,我觉得没必要回答你问题了
    deali
        35
    deali  
       2018-11-20 16:46:04 +08:00 via Android
    我觉得 Java 未来肯定还能走很长一段路,但是 Java 程序员太多了,可能初级程序员找工作更加困难了,其他语言可以学一下,在各自擅长的领域做一下补充还是可以的
    murmur
        36
    murmur  
       2018-11-20 16:46:44 +08:00
    @Neojoke nodejs 造那种几行代码的低端轮子的却早已超过 java
    xiaoyunwei2
        37
    xiaoyunwei2  
       2018-11-20 16:46:59 +08:00
    另外不看好 nodejs,其他解释型语言(php,python)有自己的场景 看场景使用吧
    一般开发懂一门编译型 一门解释型语言不是很正常么(个人认为标配 java+python),还有必要吵啥,有时间多学学就是了。
    murmur
        38
    murmur  
       2018-11-20 16:47:26 +08:00
    j2ee = 捷途易易
    java 加瓦 添砖加瓦
    孰强孰弱一看便知
    Scarborough
        39
    Scarborough  
       2018-11-20 16:48:16 +08:00
    不看好未来就不学呗,-_-||犯不着考虑这些,反正大部分语言基础差不多。一门语言入门了上手其他语言,不考虑深层次的只考虑业务上手很快的。
    Neojoke
        40
    Neojoke  
    OP
       2018-11-20 16:49:22 +08:00
    @bk201 你否定我列举的那几个我觉得没什么问题,每个人对这几部分的看法不一样,很正常啊,但是是不是意味着不能开个帖子去讨论 Java 的未来,有人抱乐观的态度,有人持中性态度,有人持悲观态度,各抒己见,不能容忍吗?
    Neojoke
        41
    Neojoke  
    OP
       2018-11-20 16:56:58 +08:00
    @xiaoyunwei2 严格意义上来,Java 属于解释型语言,不是直接编译成二进制的,只有有中间码(对 Java 来说是字节码)的语言,都属于解释型语言,有一点要搞明白,是不是静态语言跟是不是编译型语言没有太大关系,有没有千万不要把静态语言的强类型检查跟编译语言划等号,类型检查不只是出现在编译期,所以不要有编译型 Java 与 go,觉得这两种语言就是比较健壮的语言这种错觉。
    Neojoke
        42
    Neojoke  
    OP
       2018-11-20 17:01:29 +08:00
    @xiaoyunwei2 一般开发应该的懂的编译型语言应该是 C,Java 虽然有编译器,但是编译的是字节码,最终语言还是解释执行,是不是一门编译型语言,不是看有没有编译过程,而是要看语言是直接执行还是解释执行
    xiaoyunwei2
        43
    xiaoyunwei2  
       2018-11-20 17:04:49 +08:00
    @Neojoke 我倒觉得 go 还需要几年发展才会比较健壮。现在的 go 主要是高并发和 docker k8s 用的多些。 用 go 在国内做工程,感觉比我们运维的圈子应该还要再小点。
    当然,技多不压身。
    xiaoyunwei2
        44
    xiaoyunwei2  
       2018-11-20 17:05:33 +08:00
    @Neojoke 好吧 java 确实是个奇葩。
    Neojoke
        45
    Neojoke  
    OP
       2018-11-20 17:05:38 +08:00
    @12101111 感谢,但是题目是谈谈未来,没有人说 Java 未来已死,大家各抒已见,谈点真正是未来的东西
    skyqqcc
        46
    skyqqcc  
       2018-11-20 17:05:44 +08:00 via Android
    Phper 我想按桌
    brucewuio
        47
    brucewuio  
       2018-11-20 17:11:36 +08:00
    怎么说呢 关键是大系统(业务非常复杂,企业级等等), java 在工程化上,人才储备和第三方包沉淀做点非常好。 当然做个小 app 有些语言确实快,一旦体量大起来还是 java. 关于中间件,工具和需要大并发 用 Go 写我觉得挺合适的。
    bk201
        48
    bk201  
       2018-11-20 17:13:02 +08:00
    @Neojoke Java 属于解释型语言,不是直接编译成二进制的,只有有中间码(对 Java 来说是字节码)的语言,都属于解释型语言.
    ====
    请不要误人子弟,自行了解以后再说
    trait
        49
    trait  
       2018-11-20 17:14:50 +08:00
    @TommyLemon 宣传自己的项目也不用这样吧
    Neojoke
        50
    Neojoke  
    OP
       2018-11-20 17:15:56 +08:00
    @xiaoyunwei2 其实国外的 Java 使用普遍程度虽然也很高,但没有国内这么高,特别是 Unix 文化出身的美国程序员们,对 Java 的态度,基本上持中间件开发语言的定位,国内 Java 用的多,是有一定历史背景的,BAT 在技术转型期的时候,有很多来自 IBM、雅虎的大牛,都是 Java 出身,所以国内 Java 非常流行,加上 Java 入门简单,一星期就能写业务,并且健壮性比其他语言要强,所以受宠,其实在美国 03 年的互联网蓬勃发展的时候,当红的是 Ruby On Rails,Java 并没有什么特别强的优势,如果你经常上 recode,就知道现在大家对 java 的担忧了
    Neojoke
        51
    Neojoke  
    OP
       2018-11-20 17:19:57 +08:00
    @bk201 哎,还是发个链接给大家看看吧,看来搞不懂这个人还真是有,https://en.wikipedia.org/wiki/Interpreted_language
    thisnull
        52
    thisnull  
       2018-11-20 17:20:59 +08:00
    至于用什么语言,不得是老板决定的嘛 哈哈哈 杠精
    micean
        53
    micean  
       2018-11-20 17:21:03 +08:00
    未来很好
    用的很爽很舒服
    cnbobolee
        54
    cnbobolee  
       2018-11-20 17:22:20 +08:00
    只要现代操作系统和编码系统没有变化,Java 就不会死。
    fuxiaohei
        55
    fuxiaohei  
       2018-11-20 17:23:32 +08:00
    @Neojoke 解释型,编译型,上古的术语在当年对 Java 就不适用了,https://www.zhihu.com/question/19608553/answer/34834354
    changhe626
        56
    changhe626  
       2018-11-20 17:23:54 +08:00
    还会存活很长一段时间,请大家 5 年后再来看这个帖子
    nicevar
        57
    nicevar  
       2018-11-20 17:24:10 +08:00   ❤️ 1
    你都认为 Java 是废柴了,还要跟大家讨论未来。。。
    pursuer
        58
    pursuer  
       2018-11-20 17:24:25 +08:00
    编译型解释型要真细究的话不是很好的定义方式,python java c 都需要编译可以说是编译语言,即使一门语言编译成机器码,那也是由 CPU 解释执行的,要这么算那非解释型的大概只有像 VHDL Verilog 之类的了。

    要说 Java 的话,优点是生态真的很强大,可以少造轮子,Android 也帮 Java 扩大了很大的一块领域,而且 ClassLoader 个人觉得是插件化的不错的实现方式,但有一个事我要吐槽一下,Java 语言升级为什么要带着 JVM 一起升?语言特性一定要 VM 更新才能支持?字节码的版本也要跟着更新。像 Kotlin 这么多语法糖,不还是可以编译成 1.6 的字节码?
    weo0
        59
    weo0  
       2018-11-20 17:26:03 +08:00
    你自己所说的东西总结出来就是:Java 不行。还讨论个锤子啊,有个毛线未来啊。。。。。
    wmhack
        60
    wmhack  
       2018-11-20 17:26:54 +08:00 via iPhone   ❤️ 1
    开发语言只是辅助工具,编程思想才是王道,多掌握一些好的编程思想,总比在这吐槽 Java 的好
    bk201
        61
    bk201  
       2018-11-20 17:27:08 +08:00
    @Neojoke 不懂装懂就是说的你这个典型,还扔给我 wiki?你知不知道 javac 编译后后续处理方式?1.可能按照 BYTECODE 由 JVM 逐条解释执行 2.JIT 翻译为目标机器指令执行 3.执行 AOT 二次编译,生成静态的目标平台代码 你还能说他是解释类型我无话可说.而且一般不会去讨论什么解释类型,因为即使是 python 也是可以编译成目标平台代码执行的.
    specita
        62
    specita  
       2018-11-20 17:27:17 +08:00
    在我有生之年,我觉得我不需要担心这个问题
    starcraft
        63
    starcraft  
       2018-11-20 17:28:21 +08:00 via iPhone
    @Neojoke 看完帖子 我着实汗颜,无比后悔会来回复你。碰上一个 XX 怎么办 赞同他 支持他 把他培养成一个大 XX
    wolfie
        64
    wolfie  
       2018-11-20 17:30:09 +08:00
    Java 第几次药丸?
    xiaoyunwei2
        65
    xiaoyunwei2  
       2018-11-20 17:31:43 +08:00
    @Neojoke 国内小运维而已 这方面关心的不是很多 好用稳定有人接锅就行 哈哈
    Navee
        66
    Navee  
       2018-11-20 17:32:28 +08:00
    就算你说 java 不好用,语法糖少,性能低下
    我司已经开始弃用 Go 和 PHP 了
    Neojoke
        67
    Neojoke  
    OP
       2018-11-20 17:59:41 +08:00   ❤️ 1
    我还是归纳一下吧
    一门编程语言是否流行,很大程度上取决于它能运行的设备有多少。
    这也适用于 Java 的前辈语言们,basic 流行的时候,是因为它能跑在大多数微型机上,C 语言流行起来的时候,那时候是因为 Unix 系统的友好。
    Java 克服了先辈们移植性差的缺点,能跑在所有安装了 jvm 套件的机器上,所以 Java 才开始流行起来,这也是为什么 Java 适合做中间件的原因。
    真正让 Java 长盛不衰的原因是,Java 的开源社区和 Oracle 对其免费的商业支持的组合。
    开源社区为其提供大量的生态贡献,Oracle 为其提供工业级的商业支持,Perl、Ruby on Rails 的生态也非常庞大,但是没有商业公司的支持,企业级应用开发没有想 Oracle 那样的制定出来的 J2EE 规范,语言是否有严格的开发规范,是大部分公司在衡量和选择中间件产品开发语言的一项非常重要的指标
    Python、nodejs 也存在上述问题。
    Java 的开源+商业支持,是过去无敌的组合,但语言的通用性,不代表着它在任何地方都有优势
    偏向业务性的开发,nodejs、python 都在不断蚕食,nodejs 的 io 吞吐卓越,多核利用效率高,使得单进程的 tomcat 逼着自己也学习诸如 jetty 的嵌入式容器。
    Python 语法简练,富含丰富的面向对象语言特性,虽然性能不高,但使得开发人员的效率惊人。
    Go 语言由于天生支持协程,所以适合开发面向分布式的 web 中间件
    Rust 由于丰富的类型检查系统,使得其可壮行优于 Java,对底层的友好性又不逊与 C,所以在底层开发中 Rust 也开始崛起
    lua-c 和 openresty,使得基于 ngnix 的 web-logic 成为可能,进一步使得系统异构成为基本事实
    随着微软登上 github 开源项目贡献公司第一名,随着.netcore 的开源,C#也加入到开源社区+商业公司支持的组合中,与 Oracle+Java 的组合进行竞争
    世界变化之快,任何情况都有可能发生
    计算设备,从大型机到微型机,从 CS 架构到 BS 架构,从 PC 到移动设备,根据前面开发语言流行程度与可运行设备多少的理论结合,着眼于未来的发展,随着 5G 等通讯技术的大突破,真正的物联网时代会到来,那时候能够运行代码的设备不知道要比 PC 和手机多多少,那些设备上是什么操作系统,用什么语言开发,都是未知,但一定会着眼于低功耗、性能好、对硬件友好,因为那些设备具有很多传感器,所以对传感器的使用,要多于对 CPU 的使用,这一点上,Java 和 linux 都没有太大的优势
    随着 Oracle 对 Java 的商业化进一步提上日程,其对免费的商业支持未可知,亚马逊等诸多使用 Java 的公司已经开始扶植 openJDK 来未雨绸缪,Google 更是遭到了 Oracle 流氓般的 Java 版权官司,而正在想办法使 Android 脱离 Java,或者再造一个嵌入式操作系统 fuchsia。大部分使用 Java 的公司都在担忧 Java 以后会收费,这势必会影响 Java 未来的生态活跃性
    以上,就是对 Java 现状的总结,随着 Java 的竞争对手不断出现,随着移动时代转向物联网时代、大数据时代、人工智能时代,大家可以多发表一下对 Java 未来的讨论
    Wuxj
        68
    Wuxj  
       2018-11-20 18:00:01 +08:00
    至少我觉得在你可预见的未来,Java 是不会跨的。
    Neojoke
        69
    Neojoke  
    OP
       2018-11-20 18:18:51 +08:00
    @bk201 小同志,Java8 开始使用混合模式来对 java 代码进行编译和解释,Gosling 曾经说过 HotSpotCode 编译成本地相关的机器码这是解释型语言惯用的伎俩,如果这些小技巧就能说是编译语言,那 C#加上 CLR 也属于编译语言了? Java9 支持的 AOT 属于编译语言的正规套路,但 Java9 的为什么默认不是 AOT 编译的?为什么要谨慎使用?再考虑一下 Java9 的普及率?如果你纠结这些点,那我修改一下,Java 从整体上来讲,是一门解释型的语言,因为只有直接编译成直接可运行的二进制机器码的语言,才是编译型语言,Java 更准确的说叫做解释器友好语言。如果你对这个表述还不满意,可以到 Oracle 的网站上留言去问一下,要个定论喽
    Neojoke
        70
    Neojoke  
    OP
       2018-11-20 18:22:51 +08:00
    @Wuxj 有任何人说它要跨了么? C 跨了吗? VB 跨了吗? Perl 跨了吗?但是 C 还像以前那样流行吗? VB 还像以前那么流行吗? Perl 还像以前那样流行吗?
    世界不总是非黑即白的,难道 Java 的命运就只有要么流行当老大,要么死?
    cyspy
        71
    cyspy  
       2018-11-20 18:28:43 +08:00
    groovy,cojure,scala,kotlin,graal
    Neojoke
        72
    Neojoke  
    OP
       2018-11-20 18:32:19 +08:00
    @cyspy 他们跟 Java 的唯一联系,就是底层 vm,但本文章讨论的不是虚拟机语言的未来,没人否定运行在虚拟机上的语言以后不行
    cyspy
        73
    cyspy  
       2018-11-20 18:34:17 +08:00
    @Neojoke 这么聊就更没劲了,万一 graal 成熟了和 Java 就没有任何关系了
    pixstone
        74
    pixstone  
       2018-11-20 18:42:37 +08:00   ❤️ 1
    既然自己心中有了这么坚定的答案为什么还要来发帖问呢?
    拉大家一起下船?
    Neojoke
        75
    Neojoke  
    OP
       2018-11-20 18:50:44 +08:00 via iPhone
    @cyspy 唉,如果按照你这么聊,C 和 C++都公用 clang,那他俩也应该绑在一起了?
    88250
        76
    88250  
       2018-11-20 18:54:03 +08:00
    Java 连个像样的社区论坛系统都没有,不得不自己写一个 https://github.com/b3log/symphony

    Java 真的没有未来了 :trollface:
    cyspy
        77
    cyspy  
       2018-11-20 18:55:40 +08:00
    @Neojoke C 和 Cpp 可以直接链接到一起去。graal 万一成熟了,这几个和 Java 就一点关系都没有了。但没用,生态系统就在这。
    crossoverJie
        78
    crossoverJie  
       2018-11-20 18:56:26 +08:00
    所以这篇帖子的你想讨论出什么东西?从上述的回复来看你已经认定 Java 将来必然不行了,但凡有人提出异议都要踩一下。
    还有 “大家可以多发表一下对 Java 未来的讨论” 的意义嘛?
    crossoverJie
        79
    crossoverJie  
       2018-11-20 18:57:21 +08:00   ❤️ 1
    @88250 #76 哈哈 D 大无孔不入
    blackboom
        80
    blackboom  
       2018-11-20 18:58:58 +08:00
    前排出售玉米 javaisbest.com
    Neojoke
        81
    Neojoke  
    OP
       2018-11-20 19:00:36 +08:00 via iPhone
    @pixstone 同学,这么长的讨论中,我并没有说 JAVA 未来会怎么样,只是列出来现在的情况,我本意是大家一起来聊聊 JAVA 的未来,但没一个人往题目上聊的,而且我发现国内的讨论环境不太乐观,有跑题的,有不清楚自己表达的目的是什么,不能接受对方说自己使用的语言一点缺点,必须是 JAVA 最大,JAVA 最牛逼,否则就是咒我 JAVA 要死,何其毒也? reddit 上国外的程序员在讨论问题的时候,都观点鲜明,但大家讨论都不会以怀疑对方资历来论观点的对错,也不认为资历大就是说得对,都比较尊重客观事实,讲究语言逻辑,而不是主观上去争论这语言是否伤害了我这个 JAVA 语言开发者的面子。
    Neojoke
        82
    Neojoke  
    OP
       2018-11-20 19:07:17 +08:00 via iPhone
    @crossoverJie 聊聊未来不应该是 JAVA 以后生态会怎么发展,官方开发组未来会是什么路线图计划,对其他的生态会怎么样支持这类的吗?开放性的帖子,本身是大家在畅想未来,没成想,那么多人容不得说 JAVA 目前半点不足,这就跟有很多年轻人,羡慕国外的民主开放,羡慕国外的自由,但一说 JAVA 的缺点,仿佛是伤害了自己的面子,务必要镇压下去的独裁者一般
    glues
        83
    glues  
       2018-11-20 19:07:49 +08:00
    想一个语言撸一辈子的时代从来都不存在,Java 本身没什么硬伤,但是时代在变化,生产力在进化,要学会拥抱变化
    zzzmode
        84
    zzzmode  
       2018-11-20 19:14:33 +08:00
    java 语言也就这样了,但是 jvm 语言还是很有潜力的
    beny2mor
        85
    beny2mor  
       2018-11-20 19:16:59 +08:00   ❤️ 2
    @Neojoke "这么长的讨论中,我并没有说 JAVA 未来会怎么样,只是列出来现在的情况"
    你描述的现状只有缺点没有优点,片面的描述是争端的开始。
    luozic
        86
    luozic  
       2018-11-20 19:19:02 +08:00 via iPhone
    现在语言运行时就三家 oracle 的 jvm,苹果的 llvm,微软的 clr,其他的语言运行时没有这三家这么工业化的东西。
    beny2mor
        87
    beny2mor  
       2018-11-20 19:19:41 +08:00
    1. ”大数据、人工智能,这些热门,Java 虽然都能沾上,但使用起来太啰嗦“
    2. “ java 虽然用起来太啰嗦,但是大数据、人工智能,这些热门,都能沾上边”

    3. pro: 大数据、人工智能,这些热门,Java 都能沾上边。con:java 用起来有点啰嗦。
    Neojoke
        88
    Neojoke  
    OP
       2018-11-20 19:24:28 +08:00 via iPhone
    @beny2mor 也就是说不能指出缺点?指出缺点就必须把优点带上?你说片面,我 ok,说出片面在哪,我们找到真正客观上的正确答案,这样大家都进步,上来就问搞几年开发?说我的意思是传播 JAVA 已死让大家下船?都用上 JAVA 这么先进的开发语言了,怎么思想这么保守,容不得别人说缺点,说缺点必须强调优点?思想这么中庸?难道技术界的人整天翻墙,谈论个话题,都要有条件?
    Neojoke
        89
    Neojoke  
    OP
       2018-11-20 19:30:01 +08:00 via iPhone
    @luozic llvm 是后置编译器,不是运行时,objective-C 但是基于 C 的消息分发系统,类似于 smalltalk,swift 基本的运行时也是基于 C,但也有虚拟机的概念,因为它引入了垃圾回收机制
    felixlong
        90
    felixlong  
       2018-11-20 19:35:09 +08:00 via Android
    同样的业务逻辑用 Java 写和用 go 或者 nodejs 写差别会很大吗?重要的是搞懂业务逻辑。只有你完全懂了业务逻辑才有能力去评判哪个框架更适合你的需求。
    yibinhp
        91
    yibinhp  
       2018-11-20 19:35:12 +08:00   ❤️ 1
    你都认为 java 是废柴了,全程就是就是灌输这个观念,还有啥好讨论的?
    weo0
        92
    weo0  
       2018-11-20 19:39:54 +08:00
    @yibinhp 你可以看看他回复的其他的帖子 就是说 java 是废柴
    bsidb
        93
    bsidb  
       2018-11-20 19:40:51 +08:00
    得具体地看应用领域。
    在大数据分析应用上,目前还是 JVM 占主流。Hadoop 和 Spark 两者奠定了 JVM 在大数据分析平台上的地位,在另一个基于其他语言编写的分析平台火爆起来之前,JVM 应该都是主流。
    AI 的火爆使 Python 在 AI 算法分析师方面非常流行,Java 在这方面生态显然落后于 Python,Java 应该会逐渐退出相关的应用。
    luozic
        94
    luozic  
       2018-11-20 19:56:16 +08:00 via iPhone
    @Neojoke llvm 可以嵌入做运行时的,因为它本身就是个后端
    Neojoke
        95
    Neojoke  
    OP
       2018-11-20 19:56:17 +08:00 via iPhone
    @yibinhp 同志,有一句话叫做,我虽然不同意你说的话,但我誓死捍卫你说话的权利
    Neojoke
        96
    Neojoke  
    OP
       2018-11-20 20:10:12 +08:00 via iPhone
    @weo0 我是说 JAVA 是废柴了,前提是除了中间件领域,不能这样说吗?
    Neojoke
        97
    Neojoke  
    OP
       2018-11-20 20:16:47 +08:00 via iPhone
    @luozic 斗胆插一句,llvm 的 bitcode 不是生成汇编了吗?难道运行时间 llvm 还参与?
    luozic
        98
    luozic  
       2018-11-20 20:23:09 +08:00 via iPhone
    现在 JDk 的 JVM 是挺牛逼的,但是编译部分太渣了,
    @Neojoke llvm 是一个后端,最后结果是可选的,要不 kotlin scala 等等明显需要运行时的语言用它来搞 native
    luozic
        99
    luozic  
       2018-11-20 20:25:11 +08:00 via iPhone
    现在开源的编译前端里面(需要运行时的语言)最牛逼的还真就是巨硬开源的 Roslyn,Java 怎么不学习一下 C#的先进经验搞点牛逼的前端,浪费了那么好的后端 JVM
    XinLake
        100
    XinLake  
       2018-11-20 20:32:41 +08:00 via Android
    Java 的硬伤是没有真正的泛型,这一点可能会有妨碍一些特定的软件设计方式,以至于影响到这门编程语言的未来。同类型的(解释型)语言如 C# 等,则没有这么明显的缺点。

    搞了这么久开发,我没觉得语言最主要的,人才是最重要的。软件库像机器学习框架、数字图像处理等等都同时有多种语言的开发接口,有 Java、Python。。。而我还是使用 C++ API,因为不需要虚拟机。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2808 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:39 · PVG 22:39 · LAX 06:39 · JFK 09:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.