關(guān)于Java已死,看看國外開發(fā)者怎么說的

博主在瀏覽 medium 社區(qū)時,發(fā)現(xiàn)了一篇點贊量 1.5k 的文章,名稱叫《Java is Dead — 5 Misconceptions of developers that still think Java is relevant today!》直譯過來就是《Java 已死 — 開發(fā)人員對 Java 在現(xiàn)代編程語言中的5個誤解》。這篇文章可以說是標(biāo)題黨得典范,熱度全靠標(biāo)題蹭 。當(dāng)然本文重點在于文章評論區(qū)。作者因為標(biāo)題黨慘著評論區(qū)大佬們怒懟,不敢回復(fù)。
原文地址: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 商城前臺和服務(wù)端接口。實現(xiàn)了商城所需的首頁展示、商品分類、商品詳情、商品 sku、分詞搜索、購物車、結(jié)算下單、支付寶/微信支付、收單評論以及完善的后臺管理等一系列功能。 技術(shù)上基于最新得 Springboot3.0、jdk17,整合了 MySql、Redis、RabbitMQ、ElasticSearch 等常用中間件。分模塊設(shè)計、簡潔易維護,歡迎大家點個 star、關(guān)注博主。
github 地址:https://github.com/wayn111/waynboot-mall
下面是文章內(nèi)容:

人們?nèi)匀徽J(rèn)為 Java 與當(dāng)今時代相關(guān),這是一種常見的誤解。事實上 Java 是一種正在消亡的編程語言。 Java 一直是世界上使用最廣泛、最流行的編程語言之一,但它很快就會面臨消亡的危險。如今 Java 擁有龐大而活躍的開發(fā)者社區(qū),并且仍然用于廣泛的應(yīng)用程序,包括 Web 開發(fā)、移動應(yīng)用程序開發(fā)和企業(yè)級軟件開發(fā),但 Java 能在未來 10 年生存嗎?讓我們看看開發(fā)者對 Java 有哪些誤解:
誤解 1:Java 擁有龐大且活躍的開發(fā)者社區(qū)。世界各地有數(shù)百萬 Java 開發(fā)人員,該語言在開發(fā)人員共享知識和資源的在線論壇和社區(qū)中占有重要地位。
雖然情況仍然如此,但開發(fā)人員轉(zhuǎn)向其他平臺和編程語言的速度很能說明問題,我個人也看到開發(fā)人員驚慌失措地跳槽。主要問題是 Java 作為一種編程語言還沒有現(xiàn)代化,因此它仍然很冗長,通過一個步履蹣跚但極其笨重的類型系統(tǒng)結(jié)合了靜態(tài)和動態(tài)類型之間最糟糕的兩個世界,并且要求在具有以下功能的 VM 上運行宏觀啟動時間(對于長時間運行的服務(wù)器來說不是問題,但對于命令行應(yīng)用程序來說是痛苦的)。雖然它現(xiàn)在表現(xiàn)得相當(dāng)不錯,但它仍然無法與 C 或 C++ 競爭,并且只要有一點愛,C#、Go、Rust 和 Python 就可以或?qū)谠擃I(lǐng)域超越它。對于現(xiàn)實世界的生產(chǎn)服務(wù)器,它往往需要大量的 JVM 調(diào)整,而且很難做到正確。
誤解 2:Java 的應(yīng)用范圍很廣。 Java 不僅僅是一種 Web 開發(fā)語言,還用于開發(fā)移動應(yīng)用程序、游戲和企業(yè)級軟件。這種多功能性使其成為許多不同類型項目的有價值的語言。
Java 不再是移動應(yīng)用程序開發(fā)(尤其是 Android)首選的編程語言。 Kotlin 現(xiàn)在統(tǒng)治著 Android,大多數(shù) Android 開發(fā)者很久以前就已經(jīng)跳槽了。就連谷歌也因為幾年前與甲骨文的慘敗而放棄了 Java 作為 Android 的事實上的語言。 Java 作為一種 Web 開發(fā)語言也早已失去了它的受歡迎程度。就企業(yè)開發(fā)而言,Java 在大型企業(yè)中仍然適用,因為它可靠且穩(wěn)定。盡管許多初創(chuàng)公司并未將 Java 作為企業(yè)軟件的首選,但他們正在使用其他替代方案。
誤解 3:Java 是基礎(chǔ)語言。許多較新的編程語言都是基于 Java 的原理和概念構(gòu)建的,并且旨在以某種方式與其兼容。這意味著即使 Java 的受歡迎程度下降,它的原理和概念仍然具有相關(guān)性。
雖然 Java 確實是許多人開始編程之旅的基礎(chǔ)語言,但事實是 Java 仍然非常陳舊且不靈活。最重要的是,與其他現(xiàn)代編程語言相比,它仍然很冗長,這意味著它需要大量代碼來完成某些任務(wù)。這會使編寫簡潔、優(yōu)雅的代碼變得更加困難,并且可能需要更多的精力來維護大型代碼庫。此外,Java 是靜態(tài)類型的這一事實意味著它可能比動態(tài)類型語言更嚴(yán)格且靈活性較差,這可能會讓一些開發(fā)人員感到沮喪。
誤解 4:Java 得到各大公司的大力支持。 Oracle 是維護和支持 Java 的公司,對該語言有著堅定的承諾,并持續(xù)投資于其開發(fā)和改進。此外,包括 Google 和 Amazon 在內(nèi)的許多大公司都在其產(chǎn)品和服務(wù)中使用 Java。
Oracle 的 Java 市場份額正在快速被競爭對手奪走。見下圖:

盡管下圖顯示甲骨文仍然擁有最大的市場份額,但其份額已減少了一半以上。 2020 年,甲骨文占據(jù)了“大約 75% 的 Java 市場”,而現(xiàn)在的份額還不到 35%。
根據(jù) New Relic 的數(shù)據(jù),排名第二的是亞馬遜,自 2021 年 11 月發(fā)布 Java 17 以來,其份額急劇上升,當(dāng)時其份額幾乎與 Eclipse Adoptium 相同。
誤解 5:Java 在學(xué)校和大學(xué)中廣泛教授。 Java 是一種流行的編程概念教學(xué)語言,經(jīng)常用于學(xué)校和大學(xué)的計算機科學(xué)課程。這意味著有源源不斷的新開發(fā)人員正在學(xué)習(xí) Java 并熟悉其功能。
這種情況正在發(fā)生很大的變化??释蔀檐浖_發(fā)人員的年輕大學(xué)生正在迅速轉(zhuǎn)向其他編程語言。由于對這些其他編程語言的普遍需求,這越來越多地促使學(xué)院和大學(xué)尋找替代方案。
我知道這是一個有爭議的話題。雖然我也認(rèn)為 Java 是一種徹底改變了軟件編寫方式的語言,并為其他編程語言樹立了可以效仿的基準(zhǔn)。但不幸的是,該語言的所有權(quán)掌握在公司手中,在沒有留下太多財務(wù)收益的情況下,該公司沒有動力繼續(xù)改進它。
OK,文章內(nèi)容就這么多,下面是本文重點!
評論區(qū)
喜聞樂見評論區(qū)來了 ,看看國外開發(fā)者怎么反駁這篇文章得,本文選取評論點贊量較高得5條評論放在下文。
評論一

作者不知道什么是編程語言、它為什么存在以及它在哪里使用。
僅因為許多程序員都在應(yīng)用程序中最簡單的部分工作,就認(rèn)為 Java 與 Python 等效,這是完全錯誤的。
假設(shè)自因為使用自行車的人比駕駛采礦機的人多,我就認(rèn)為自行車比卡特彼勒采礦機更好,這是不對得。
評論二

哈哈哈,我想說他甚至可能不是一個程序員,可能會做一些 JavaScript 的事情,即使如此,將 JavaScript 和 TypeScript 歸類為兩種語言也是沒有意義的。
在安卓開發(fā)中,他不明白 Kotlin 是什么,雖然它確實有效。
評論三

每次看到這樣的文章我都會直接去看評論。(喜聞樂見評論區(qū))
評論四

對于成熟,我有一些話要說。我過去三份工作中有兩份是在一些公司開始使用一種性感的新語言(即 ruby 和 python),然后付錢給像我這樣的人用 Java 重寫他們的應(yīng)用程序。
評論五

作者似乎不明白編程語言的風(fēng)格是出于不同的目的而存在的,語言之間進行比較沒有意義, 比如拿 sql 或 html/css 與 java 來比?語言是一個豐富的生態(tài)系統(tǒng),我們需要為特定目的選擇正確的語言。因此需要多語言開發(fā)人員而不是教條主義。
總結(jié)
博主這里說下自己得看法,雖然作者對于自己得觀點進行了5個誤解的闡述,但是博主是并不認(rèn)同得。
文章的標(biāo)題就是一個誤導(dǎo)性的問題,暗示了 Java 已經(jīng)不行。事實上 Java 仍然是一門非常流行和強大的編程語言,它在很多領(lǐng)域都有廣泛的應(yīng)用和優(yōu)勢,如移動應(yīng)用、Web 應(yīng)用、可穿戴設(shè)備、大數(shù)據(jù)、云計算等。Java 也有不斷地更新和改進,引入了很多新的特性和功能,以適應(yīng)不斷變化的技術(shù)需求。
Java 也有龐大的社區(qū)和豐富的資源,為開發(fā)者提供了很多支持和幫助。根據(jù) GitHub Octoverse Report 2022,Java 是第三大最受歡迎的語言,僅次于 JavaScript、Python。根據(jù) JetBrains State of Developer Ecosystem 2022,Java 是過去12個月內(nèi)使用占有率排名第五的語言,占據(jù)了 48% 的份額。根據(jù) StackOverflow Developer Survey 2022,最常用的編程語言排行榜中 Java 是排名第六的語言,占據(jù)了 33.27% 的份額。這些數(shù)據(jù)都表明 Java 并沒有死亡或不在流行,而是仍然保持著其重要的地位。



文中說 Java 是一門過時和冗長的語言,它沒有跟上時代的變化,而其他語言如 Python、JavaScript 和 Kotlin 等都更加簡潔和現(xiàn)代化。這個觀點忽略了 Java 的設(shè)計哲學(xué)和目標(biāo)。Java 是一門成熟、穩(wěn)定、跨平臺、高性能、易維護、易擴展的編程語言,它注重可讀性、健壯性和兼容性。Java 的語法可能相對復(fù)雜,但它也提供了很多強大的特性和功能,如泛型、注解、枚舉、lambda 表達式、流 API、模塊化系統(tǒng)等。
Java 也沒有停止創(chuàng)新和改進,它在近幾年引入了很多新的特性和功能,如 Record 類、密封類、模式匹配、文本塊、虛擬線程、外部函數(shù)和內(nèi)存API等。其他語言可能在某些方面比 Java 更加簡潔或現(xiàn)代化,但它們也有自己的局限和缺點,比如運行速度慢、類型系統(tǒng)弱、錯誤處理困難等。不同的語言適合不同的場景和需求,并不是說一種語言就可以完全取代另一種語言。
總之,我覺得 Java 在未來會被替代的可能性很小,但也不能掉以輕心,在后端開發(fā)領(lǐng)域,Go 已經(jīng)在逐步蠶食 Java 得份額,今年非?;鸬?ai 模型領(lǐng)域相關(guān),大部分代碼也是基于 Python 編寫。Java 需要在保持優(yōu)勢領(lǐng)域地位后持續(xù)地創(chuàng)新和改進。
關(guān)注公眾號【waynblog】每周分享技術(shù)干貨、開源項目、實戰(zhàn)經(jīng)驗、高效開發(fā)工具等,您的關(guān)注將是我的更新動力!