都说Java“老而不死” 它却为何常霸榜单?
在软件世界中,铁打的二进制,流水的语言。从计算机诞生至今,不知诞生了多少门编程语言。译者查了一下 Wikipedia,好家伙,名单上足足有几百种!但并不是所有的语言都能长期占据 Top 10。今天我们来讨论长期霸榜的三种编程语言:Java、JavaScript 和 C,因为经常有人们说这三种语言已经死了,即使没死也是快要死了。然而事实究竟如何呢?实际上,这几门语言就像胡杨一样,特别是 JAVA 语言,简直就是编程语言界的胡杨:胡杨生而千年不死,死而千年不倒,倒而千年不腐……
最近,我仔细研究了当某种编程语言、工具或趋势被宣布“死亡”时,它到底意味着什么。我认为,从技术行业的不同方面来谈论死亡,似乎既是个人作为开发者的身份和价值观的信号,也是对特定事物现实的准确描述。
每一种语言都被人们描述为已经死亡或即将死亡。我的发现可能并不会让你感到惊讶,但它仍然突出了这一点:即个人或社区对一种语言的不同意见反映了他们作为软件工程师的需求与挑战。
Java 死了吗?
就生存、繁荣或死亡而言,最大的争论之一就是 Java 。之所以如此,原因有很多。最大的一个简单事实就是它被广泛使用。由于有如此多的开发人员出于各种各样的原因使用这种语言,因此在开发者社区发现如此多样化的意见,也就不足为奇了。
另一个原因就是,Java 作为一种编程语言,已经非常成熟。无论它是在衰退还是在消亡,都仍然是一个备受争议的话题,但肯定不能说它正以任何显著的速度出现或增长。
Java 现在是行业主流的一部分。你可能会认为,它有望能支撑下去。但是,当你考虑到这是一个不仅仅包含变革和创新的行业,而是一个依赖于其价值的行业时,你就会开始发现 Java 占据有点奇怪的空间已经有一段时间了。为什么人们认为 Java 已经死了?
这几年来,Java 一直正在衰落。如果你去 看一下 TIOBE 指数,就会发现,在这十年的中后期,它已经下降了几个百分点。例如,从 2016 年 5 月到 2017 年 5 月,该语言下降了 6%——这表明它正在被其他编程语言所取代。
Java 衰落的另一个原因是 Kotlin 的崛起。尽管长期以来,Java 一直是 Android 开发的定义语言,但近年来,随着 Kotlin 被更广泛地采用,它的地位受到了冲击。正如 Medium 的 2018 年的这篇博文 所指出的那样:用 Java 开始一个新的 Android 项目并不一定是个好主意。
Java 的威胁,不仅来自 Kotlin,也来自 Scala。Scala 是另一种基于 JVM(Java 虚拟机)的编程语言。它既支持面向对象编程,也支持函数式编程,与 Java 相比,它具有许多性能优势,并且被广泛用于从机器学习到应用程序开发的各种用例中。
Java 没有死掉的原因
尽管 TIOBE 指数显示,Java 是一门正在衰落的语言,但它仍然稳居榜首。从 2016 年到 2017 年间,这个数字可能会大幅下降,但最近下降速度有所放缓:在 2018 年 10 月到 2019 年 10 月之间,它只下降了 0.92%。
10月TIOBE编程语言排行榜
从这个角度来看,那些认为 Java “已死”或“快死了”的观点,实在很奇怪。从事实上来说,Java 是地球上使用最广泛的编程语言。当你考虑到所有其他一切因素时,庞大的社区意味着更多的支持,一个由框架、库和其他工具组成的广泛生态系统(注意,Spring Boot 的增长是对微服务革命的回应)。所以,尽管 Java 的年龄看起来像是反对它的一个标志,但这也是为什么它仍然有很多生命力的原因。
在更基本的层面上,Java 是无处不在的,它被广泛应用于各种应用程序中。只要 Java 开发的应用程序还在使用,那么,我们就可以说,Java 仍然是有生命力的。这也意味着,Java 开发人员的需求还会持续很长一段时间。
结论:Java 究竟是死的还是活的?
Java 是非常活跃的,而且活得很好。但也有一点需要注意的是,归根结底,它并不是一种能够帮助你以创造性或创新的方式来解决问题的语言。它可以让你构建事物并启动项目,但它可以说是一个坚实的基础,你需要在这个基础上积累更多的专业知识,才能成为一名真正成功的工程师。
技术的突破需要依赖业务场景的需求和自身刻意的规划学习,二者缺一不可。但前者是机会,往往不是自己能完全把控的,如果在工作中没有实践场景,最好的办法就是系统的学习与梳理,待机会来临时才能一展身手。
*本文内容来自微信公众号“AI 前线”(ID:ai-front)