大家怎么看待 Java 的未来

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

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

22133 次点击
所在节点    Java
218 条回复
bk201
2018-11-20 17:27:08 +08:00
@Neojoke 不懂装懂就是说的你这个典型,还扔给我 wiki?你知不知道 javac 编译后后续处理方式?1.可能按照 BYTECODE 由 JVM 逐条解释执行 2.JIT 翻译为目标机器指令执行 3.执行 AOT 二次编译,生成静态的目标平台代码 你还能说他是解释类型我无话可说.而且一般不会去讨论什么解释类型,因为即使是 python 也是可以编译成目标平台代码执行的.
specita
2018-11-20 17:27:17 +08:00
在我有生之年,我觉得我不需要担心这个问题
starcraft
2018-11-20 17:28:21 +08:00
@Neojoke 看完帖子 我着实汗颜,无比后悔会来回复你。碰上一个 XX 怎么办 赞同他 支持他 把他培养成一个大 XX
wolfie
2018-11-20 17:30:09 +08:00
Java 第几次药丸?
xiaoyunwei2
2018-11-20 17:31:43 +08:00
@Neojoke 国内小运维而已 这方面关心的不是很多 好用稳定有人接锅就行 哈哈
Navee
2018-11-20 17:32:28 +08:00
就算你说 java 不好用,语法糖少,性能低下
我司已经开始弃用 Go 和 PHP 了
Neojoke
2018-11-20 17:59:41 +08:00
我还是归纳一下吧
一门编程语言是否流行,很大程度上取决于它能运行的设备有多少。
这也适用于 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
2018-11-20 18:00:01 +08:00
至少我觉得在你可预见的未来,Java 是不会跨的。
Neojoke
2018-11-20 18:18:51 +08:00
@bk201 小同志,Java8 开始使用混合模式来对 java 代码进行编译和解释,Gosling 曾经说过 HotSpotCode 编译成本地相关的机器码这是解释型语言惯用的伎俩,如果这些小技巧就能说是编译语言,那 C#加上 CLR 也属于编译语言了? Java9 支持的 AOT 属于编译语言的正规套路,但 Java9 的为什么默认不是 AOT 编译的?为什么要谨慎使用?再考虑一下 Java9 的普及率?如果你纠结这些点,那我修改一下,Java 从整体上来讲,是一门解释型的语言,因为只有直接编译成直接可运行的二进制机器码的语言,才是编译型语言,Java 更准确的说叫做解释器友好语言。如果你对这个表述还不满意,可以到 Oracle 的网站上留言去问一下,要个定论喽
Neojoke
2018-11-20 18:22:51 +08:00
@Wuxj 有任何人说它要跨了么? C 跨了吗? VB 跨了吗? Perl 跨了吗?但是 C 还像以前那样流行吗? VB 还像以前那么流行吗? Perl 还像以前那样流行吗?
世界不总是非黑即白的,难道 Java 的命运就只有要么流行当老大,要么死?
cyspy
2018-11-20 18:28:43 +08:00
groovy,cojure,scala,kotlin,graal
Neojoke
2018-11-20 18:32:19 +08:00
@cyspy 他们跟 Java 的唯一联系,就是底层 vm,但本文章讨论的不是虚拟机语言的未来,没人否定运行在虚拟机上的语言以后不行
cyspy
2018-11-20 18:34:17 +08:00
@Neojoke 这么聊就更没劲了,万一 graal 成熟了和 Java 就没有任何关系了
pixstone
2018-11-20 18:42:37 +08:00
既然自己心中有了这么坚定的答案为什么还要来发帖问呢?
拉大家一起下船?
Neojoke
2018-11-20 18:50:44 +08:00
@cyspy 唉,如果按照你这么聊,C 和 C++都公用 clang,那他俩也应该绑在一起了?
88250
2018-11-20 18:54:03 +08:00
Java 连个像样的社区论坛系统都没有,不得不自己写一个 https://github.com/b3log/symphony

Java 真的没有未来了 :trollface:
cyspy
2018-11-20 18:55:40 +08:00
@Neojoke C 和 Cpp 可以直接链接到一起去。graal 万一成熟了,这几个和 Java 就一点关系都没有了。但没用,生态系统就在这。
crossoverJie
2018-11-20 18:56:26 +08:00
所以这篇帖子的你想讨论出什么东西?从上述的回复来看你已经认定 Java 将来必然不行了,但凡有人提出异议都要踩一下。
还有 “大家可以多发表一下对 Java 未来的讨论” 的意义嘛?
crossoverJie
2018-11-20 18:57:21 +08:00
@88250 #76 哈哈 D 大无孔不入
blackboom
2018-11-20 18:58:58 +08:00
前排出售玉米 javaisbest.com

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/509636

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX