对于当前 Java 的整体发展情况,您有什么感想?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

对于当前 Java 的整体发展情况,您有什么感想?

游客pklijor6gytpx 2019-11-07 16:32:07 525

对于当前 Java 的整体发展情况,您有什么感想?

Java
分享到
取消 提交回答
全部回答(1)
  • 游客pklijor6gytpx
    2019-11-07 16:32:26

    杨晓峰:在可预见的将来,Java 依旧是企业软件、大数据、电商等等最核心的技术栈。但是目前 Java/JVM 能力在云时代有一定局限性,比如云里强调的无服务器、微服务等场景,Java/JVM 都有一定短板。 另外 Java 新版本采用速度这么慢,本身就说明,Java 创新和实际需求存在某种程度的脱节——一方面大量创新会带来兼容性和版本混乱的问题;另外创新带来的优点却需要极大增大开发运维成本,这也让部分创新的价值被抵消了。 但是 Java 会被取代吗?应该也不会,目前在社区、工具、类库等等方面,Java 还没有真正意义的对手,但是最大的威胁是新的需求浪潮是否与你有关。我们可以看下 GitHub 上 Java 新项目的趋势,一定程度上可以佐证 Java 坚实的基本面和不可忽视的隐忧。

    阿里巴巴李三红:从技术角度来看,Java(JDK)这二十几年的发展一直试图在 Productivity 以及 Performance 之间做最好的平衡。Java 是静态类型语言,但是为了生产效率提供了大量动态的特性比如 Bytecode Instrument、Dynamic Class Loading、Metaprogramming(Annotation、Reflection 等 ,这些形成了 Java 在运维、生产监控等领域的基石技术。 同时由于 Java 大量的动态特性存在,使得它在面向云原生、Serverless 计算时 Memory Footprint、Startup 方面被人所诟病。这也是整个 Java 社区,当然包括 Alibaba Dragonwell 所试图解决的问题。

    阿里巴巴小马哥:Java 目前仍具在编程语言排⾏榜上夺魁的能力,不过在整体比重上微幅下滑。个⼈看来,未来这个趋势还将持续。究其原因,一⽅⾯是由于新语种出现的中短期效应,一方面是 Java 的编程复杂度并没有明显的降低,比如 I/O 处理、并发 / 并⾏计算,以及类加载等等。再者是 Java 与操作系统之间的交互仍不够充分,尽管 Java 9 开始提供了不少的 API,然⽽了解和使用的群体不⾜。Java 在这方面明显不及 GO 语言。

    从语⾔层⾯来看,Java 正在向主流非 Java 语⾔融合,解决其中鸿沟的关键是语法的变化,比如 Java 8 的 Lambda 表达式 和 Java 10 的局部变量类型( var )等。个人认为这是一件好事,未来前后端不分家,相互渗透,对于彼此语言都是良性发展。

    除此之外,个人比较期待的是 GraalVM 对 Java 的改变,传统 Java 应用必须依赖 JVM 进程加载字节码后解释执行,无法保证所有的代码能够在运行期编程完成,不免有运⾏时编译所带来的性能开销,从而影响 JVM 的启停时间。简单地说,这种方式不够 Native,对于云原生或许不够友好。如果未来 GraalVM 的社区版也能够像 OpenJDK 那般“亲民”,那么,Java 的变化将是颠覆性的。

    美团吴革:当前 Java 已经发展成为一个庞然大物,语言上基本不会有太多突破,更多是借鉴和兼容。随着 GC 算法的升级和编译器换代,面对 Go 等新一代语言挑战,还有一战之力。

    腾讯单致豪:毋庸置疑,Java 语言依然活力十足,但在某些方面已经失去优势,如云原生领域现在出现了更具活力的 Go 语言。纷繁的世界必定会出现多语言并存、不断替代的现象。回顾历史发展进程,一种语言要从出现到早期大众使用基本都需要十年时间,能历经十年磨砺生存下来的开发语言,必定是有很强的生命力,而且都会有不同的企业构筑其生态。正如上文所说:不同语言也会在自己优势之处持续发展,形成很强的竞争壁垒。

    字节跳动王石冲:Scala 语言目前有两个大的目标运行平台——JVM 和 js,所以 Scala 作为一个语言和生态并不敢完全投资在单一目标平台上。虽然 JVM 本身在不断进步,但是 Java 已经被同平台的多种语言赶超,比如 Kotlin、Clojure、Groovy。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程