作家
登录

谁将会杀死Java?

作者: 来源: 2017-10-13 11:54:29 阅读 我要评论


英文原文:What Will Kill Java?

Java 是这个星球上最为风行的编程说话之一,但这方面的竞争正愈演愈烈。下面我们将讲述 Java 可能遭受滑铁卢的处所,以及可以做些什么来预防它的阑珊。

2017 年 9 月的 TIOBE 指数将 Java 列为当月较为风行的说话。其实,它已经名列前三甲很多年了。

Stack Overflow Developer Survey 2017将 Java 列为继 Javascript 和 SQL 之后第三常用的编程说话(实际上,以前四年它都保持着这名次)。

不嗣魅这些结不雅是若何产生的,亦或者这结不雅是否反竽暌钩了实际世比赛的情况,我们不克不及否定的是,Java 在多个情况中仍然是一种风行说话。

然则,Java 总有一天会逝世。世无定事,没有什么可以矢志不移。

编程说话逝世亡的┞锋正定义是没有人再应用它——但如许的情况很难产生。即使是老拙且不被广泛应用的说话(例如,你是否据说过 Modula-3?),仍然在被应用、保护,或者至少会演变成其他的器械。

当然,这是一个渐变的过程,怎么产生的办法不定。大年夜实际出发,假设编程说话在它不再被用于新项目时,就意味着它的逝世亡,然则它可能依然存活在很多遗留项目上(COBOL 就是一个完美的例子)。

最终这终局也将降临到 Java 头上,那么谁会杀逝世它?

在以《What Killed Smalltalk Could Kill Ruby Too》为主题的演讲中,Robert “Uncle Bob” Martin 说,Smalltalk 被杀的原因是,它太轻易造成纷乱,并且它的傲慢自负年夜会导致不专业的实践办法,如缺乏测试驱动开辟(TDD)。

这种办法可以在早期采取者进行彻底的检查和测试后,以高程度的质量供给大年夜的新功能。然而,不足之处在于,较小的 API、说话和 JVM 功能只有在大年夜功能预备就绪时才能实现。

让我们来分析选项。

在任何说话中你都可以搞得一团乱。当然,在某些说话中,比其他说话更轻易导致纷乱——例如,在动态类型说话中,我们可以随时更改变量的类型——然则我们在 Java 中没有这个问题。

所以让我们来商量另一个选项。

Java 是面向对象的说话。如不雅其他(新的)范式接收了怎么办?如不雅面向对象的编程变得过时了怎么办?

好吧,这可能性并不大年夜——基来源基本理已经有很长一段时光没有真正改变过了。诸如构造化,功能性和面向对象编程的重大年夜立异产生在 20 世纪 50 年代,60 年代以及甚至 70 年代,但大年夜那今后,没有什么举足轻重的事产生。

然则,在以前十年中,却竽暌剐很多新的说话问世,这些说话有着现代的语法以及新功能的框架。

那么,没有现代语法和新的功能是否会导致 Java 的逝世亡呢?

不,我不这么认为。

你还记得(或据说过)EJB 2.0 及其 Entity Beans 吗?它们很恐怖,然则像 Rod Johnson 和 Gavin King 这些 Java 社区的成员却以 Spring 和 Hibernate 等框架回应。

以类似的方法,固然 Java 不是一个功能齐备的说话,然则因为有 Vavr 如许的看维我们可以使 Java 加倍功能化。

我的意思是,Java 缺氨赡某些器械,有人会经由过程创建(框架,对象,规范,无论什么)来弥补这个空白。

那么 Java 会不会因为另一种编程说话而逝世亡呢?

我们以 JavaScript 为例。毕竟 JavaScript 正在占据这个世界,对吧?

我们可以在后台应用 Node.js,类似于移动设毕喔赡 React Native 或 Ionic,我们甚至不必说起在前端的所有竞争选项。

然则,至少在企业软件中,我没有看到 JavaScript 将要替代 Java 的趋势。JavaScript 在企业范畴中没有取获成功的框架或对象。它也没有与 Java 虚拟机(JVM)相当的器械,Java 虚拟机(JVM)依然是大年夜型和关键义务软件的首选平台。

Kotlin 说话初次涌如今 2011 年,并且比来 Google 宣布在 Android 上对 Kotlin 供给一流的支撑。Kotlin 正在逐渐被有名公司采取,并且不局限于在这些公司的 Android app 上(例子)。

除了现代化的功能,Kotlin 也是一种开放源代码的说话,它由一家临盆最佳 java ide 的公司供给支撑。

所以,如不雅你问我的话,我的答复是,是的,Kotlin 看起来像是(在遥远的将来)替代 Java 的一个很好的候选者。

当然,Java 也可能被一种或多种说话所替代。

此外,在 Java 社区中很多人采取的优胜实践,比瘸黎计模式和 TDD,有助于我们制造更好的软件。

哪些呢?

我不肯定,并且我敢说如今也没有人知道这个问题的谜底。

我所能肯定的是,没有任何说话可以或许自立地杀逝世 Java。不借助任何外力,就此而言。

可以或许杀逝世 Java 的刀子在于它无法知足市场的需求。

编程说话是构建解决计算机问题的应用法度榜样的对象。如不雅某编程说话供给抽象、模型、对象和框架,使你可以更有效力或创建比 Java 更高效的代码,你会选择哪种说话呢?

即使是在 Java 版本之间,如不雅让你在 Java 1.4 和 Java 9 之间进行选择,那么你会选择 Java 1.4 吗?你会放弃用 lambdas 或泛型工作的机会吗?我不这么认为。你会须要较新版本的功能。

然而,Java 7 于 2011 年宣布,比 Java 1.4(2002 年宣布)晚了九年。在这个时代,这是不克不及接收的,并且可能会导致恶性轮回。

细心查看 TIOBE 页面上的 Java 图表。尽管 Java 大年夜多半时刻位居前三,但有明显的降低趋势,注解它正在掉去市场份额。这种趋势在所有说话中都很广泛。最可能的原因是编程说话的数量在赓续增长,应用法度榜样越来越多地被以多种说话编写。是以,竞争比以往任何时刻都要激烈。

如不雅我们认为其他说话比这种说话更好,那么它就不再受迎接,我们也不会将这种说话教给新一代的开辟人员。


  推荐阅读

  巨头联手 IBM 和 Google 为开发者推出开源容器安全工具

本周四,谷歌和 IBM 推出了一个名为 Grafeas 的开源项目,用于收集和汇总特定的元数据,开辟者可用来保护其软件。项目标目标是期近使由微办事器和容器带来的“供给链”缩短情况下,仍能赞助开>>>详细阅读


本文标题:谁将会杀死Java?

地址:http://www.17bianji.com/lsqh/37878.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)