博主在浏览 medium 社区时,发现了一篇点赞量 1.5k 的文章,名称叫《Java is Dead — 5 Misconceptions of developers that still think Java is relevant today!》直译过来就是《Java 已死 — 开发人员对 Java 在现代编程语言中的5个误解》。这篇文章可以说是标题党得典范,热度全靠标题蹭 😂。当然本文重点在于文章评论区。作者因为标题党惨着评论区大佬们怒怼,不敢回复。
原文地址:https://medium.com/@sidh.thomas1/java-is-dead-6-misconceptions-of-developers-that-still-think-java-is-relevant-today-683310849855,作者:Sid Thomas
推荐博主开源的 H5 商城项目waynboot-mall,这是一套全部开源的微商城项目,包含三个项目:运营后台、H5 商城前台和服务端接口。实现了商城所需的首页展示、商品分类、商品详情、商品 sku、分词搜索、购物车、结算下单、支付宝/微信支付、收单评论以及完善的后台管理等一系列功能。 技术上基于最新得 Springboot3.0、jdk17,整合了 MySql、Redis、RabbitMQ、ElasticSearch 等常用中间件。分模块设计、简洁易维护,欢迎大家点个 star、关注博主。
github 地址:https://github.com/wayn111/waynboot-mall
下面是文章内容:
人们仍然认为 Java 与当今时代相关,这是一种常见的误解。事实上 Java 是一种正在消亡的编程语言。 Java 一直是世界上使用最广泛、最流行的编程语言之一,但它很快就会面临消亡的危险。如今 Java 拥有庞大而活跃的开发者社区,并且仍然用于广泛的应用程序,包括 Web 开发、移动应用程序开发和企业级软件开发,但 Java 能在未来 10 年生存吗?让我们看看开发者对 Java 有哪些误解:
误解 1:Java 拥有庞大且活跃的开发者社区。世界各地有数百万 Java 开发人员,该语言在开发人员共享知识和资源的在线论坛和社区中占有重要地位。
虽然情况仍然如此,但开发人员转向其他平台和编程语言的速度很能说明问题,我个人也看到开发人员惊慌失措地跳槽。主要问题是 Java 作为一种编程语言还没有现代化,因此它仍然很冗长,通过一个步履蹒跚但极其笨重的类型系统结合了静态和动态类型之间最糟糕的两个世界,并且要求在具有以下功能的 VM 上运行宏观启动时间(对于长时间运行的服务器来说不是问题,但对于命令行应用程序来说是痛苦的)。虽然它现在表现得相当不错,但它仍然无法与 C 或 C++ 竞争,并且只要有一点爱,C#、Go、Rust 和 Python 就可以或将会在该领域超越它。对于现实世界的生产服务器,它往往需要大量的 JVM 调整,而且很难做到正确。
误解 2:Java 的应用范围很广。 Java 不仅仅是一种 Web 开发语言,还用于开发移动应用程序、游戏和企业级软件。这种多功能性使其成为许多不同类型项目的有价值的语言。
Java 不再是移动应用程序开发(尤其是 Android)首选的编程语言。 Kotlin 现在统治着 Android,大多数 Android 开发者很久以前就已经跳槽了。就连谷歌也因为几年前与甲骨文的惨败而放弃了 Java 作为 Android 的事实上的语言。 Java 作为一种 Web 开发语言也早已失去了它的受欢迎程度。就企业开发而言,Java 在大型企业中仍然适用,因为它可靠且稳定。尽管许多初创公司并未将 Java 作为企业软件的首选,但他们正在使用其他替代方案。
误解 3:Java 是基础语言。许多较新的编程语言都是基于 Java 的原理和概念构建的,并且旨在以某种方式与其兼容。这意味着即使 Java 的受欢迎程度下降,它的原理和概念仍然具有相关性。
虽然 Java 确实是许多人开始编程之旅的基础语言,但事实是 Java 仍然非常陈旧且不灵活。最重要的是,与其他现代编程语言相比,它仍然很冗长,这意味着它需要大量代码来完成某些任务。这会使编写简洁、优雅的代码变得更加困难,并且可能需要更多的精力来维护大型代码库。此外,Java 是静态类型的这一事实意味着它可能比动态类型语言更严格且灵活性较差,这可能会让一些开发人员感到沮丧。
误解 4:Java 得到各大公司的大力支持。 Oracle 是维护和支持 Java 的公司,对该语言有着坚定的承诺,并持续投资于其开发和改进。此外,包括 Google 和 Amazon 在内的许多大公司都在其产品和服务中使用 Java。
Oracle 的 Java 市场份额正在快速被竞争对手夺走。见下图:
尽管下图显示甲骨文仍然拥有最大的市场份额,但其份额已减少了一半以上。 2020 年,甲骨文占据了“大约 75% 的 Java 市场”,而现在的份额还不到 35%。
根据 New Relic 的数据,排名第二的是亚马逊,自 2021 年 11 月发布 Java 17 以来,其份额急剧上升,当时其份额几乎与 Eclipse Adoptium 相同。
误解 5:Java 在学校和大学中广泛教授。 Java 是一种流行的编程概念教学语言,经常用于学校和大学的计算机科学课程。这意味着有源源不断的新开发人员正在学习 Java 并熟悉其功能。
这种情况正在发生很大的变化。渴望成为软件开发人员的年轻大学生正在迅速转向其他编程语言。由于对这些其他编程语言的普遍需求,这越来越多地促使学院和大学寻找替代方案。
我知道这是一个有争议的话题。虽然我也认为 Java 是一种彻底改变了软件编写方式的语言,并为其他编程语言树立了可以效仿的基准。但不幸的是,该语言的所有权掌握在公司手中,在没有留下太多财务收益的情况下,该公司没有动力继续改进它。
OK,文章内容就这么多,下面是本文重点!
评论区
喜闻乐见评论区来了 😎,看看国外开发者怎么反驳这篇文章得,本文选取评论点赞量较高得5条评论放在下文。
评论一
来自Migliorabile
作者不知道什么是编程语言、它为什么存在以及它在哪里使用。
仅因为许多程序员都在应用程序中最简单的部分工作,就认为 Java 与 Python 等效,这是完全错误的。
假设自因为使用自行车的人比驾驶采矿机的人多,我就认为自行车比卡特彼勒采矿机更好,这是不对得。
评论二
来自Khalid Hamid
哈哈哈,我想说他甚至可能不是一个程序员,可能会做一些 JavaScript 的事情,即使如此,将 JavaScript 和 TypeScript 归类为两种语言也是没有意义的。
在安卓开发中,他不明白 Kotlin 是什么,虽然它确实有效。
评论三
来自Dan Decker
每次看到这样的文章我都会直接去看评论。(喜闻乐见评论区🤔)
评论四
来自Max Dancona
对于成熟,我有一些话要说。我过去三份工作中有两份是在一些公司开始使用一种性感的新语言(即 ruby 和 python),然后付钱给像我这样的人用 Java 重写他们的应用程序。
评论五
来自Marco Kneubühler
作者似乎不明白编程语言的风格是出于不同的目的而存在的,语言之间进行比较没有意义, 比如拿 sql 或 html/css 与 java 来比?语言是一个丰富的生态系统,我们需要为特定目的选择正确的语言。因此需要多语言开发人员而不是教条主义。
总结
博主这里说下自己得看法,虽然作者对于自己得观点进行了5个误解的阐述,但是博主是并不认同得。
-
文章的标题就是一个误导性的问题,暗示了 Java 已经不行。事实上 Java 仍然是一门非常流行和强大的编程语言,它在很多领域都有广泛的应用和优势,如移动应用、Web 应用、可穿戴设备、大数据、云计算等。Java 也有不断地更新和改进,引入了很多新的特性和功能,以适应不断变化的技术需求。
-
Java 也有庞大的社区和丰富的资源,为开发者提供了很多支持和帮助。根据 GitHub Octoverse Report 2022,Java 是第三大最受欢迎的语言,仅次于 JavaScript、Python。根据 JetBrains State of Developer Ecosystem 2022,Java 是过去12个月内使用占有率排名第五的语言,占据了 48% 的份额。根据 StackOverflow Developer Survey 2022,最常用的编程语言排行榜中 Java 是排名第六的语言,占据了 33.27% 的份额。这些数据都表明 Java 并没有死亡或不在流行,而是仍然保持着其重要的地位。
GitHub Octoverse Report 2022
JetBrains State of Developer Ecosystem 2022
StackOverflow Developer Survey 2022
-
文中说 Java 是一门过时和冗长的语言,它没有跟上时代的变化,而其他语言如 Python、JavaScript 和 Kotlin 等都更加简洁和现代化。这个观点忽略了 Java 的设计哲学和目标。Java 是一门成熟、稳定、跨平台、高性能、易维护、易扩展的编程语言,它注重可读性、健壮性和兼容性。Java 的语法可能相对复杂,但它也提供了很多强大的特性和功能,如泛型、注解、枚举、lambda 表达式、流 API、模块化系统等。
-
Java 也没有停止创新和改进,它在近几年引入了很多新的特性和功能,如 Record 类、密封类、模式匹配、文本块、虚拟线程、外部函数和内存API等。其他语言可能在某些方面比 Java 更加简洁或现代化,但它们也有自己的局限和缺点,比如运行速度慢、类型系统弱、错误处理困难等。不同的语言适合不同的场景和需求,并不是说一种语言就可以完全取代另一种语言。
总之,我觉得 Java 在未来会被替代的可能性很小,但也不能掉以轻心,在后端开发领域,Go 已经在逐步蚕食 Java 得份额,今年非常火得 ai 模型领域相关,大部分代码也是基于 Python 编写。Java 需要在保持优势领域地位后持续地创新和改进。
关注公众号【waynblog】每周分享技术干货、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力!