關于Java已死,看看國外開發者怎么說的
圖片
博主在瀏覽 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
下面是文章內容:
圖片
人們仍然認為 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 E
StackOverflow Developer Survey
- 文中說 Java 是一門過時和冗長的語言,它沒有跟上時代的變化,而其他語言如 Python、JavaScript 和 Kotlin 等都更加簡潔和現代化。這個觀點忽略了 Java 的設計哲學和目標。Java 是一門成熟、穩定、跨平臺、高性能、易維護、易擴展的編程語言,它注重可讀性、健壯性和兼容性。Java 的語法可能相對復雜,但它也提供了很多強大的特性和功能,如泛型、注解、枚舉、lambda 表達式、流 API、模塊化系統等。
- Java 也沒有停止創新和改進,它在近幾年引入了很多新的特性和功能,如 Record 類、密封類、模式匹配、文本塊、虛擬線程、外部函數和內存API等。其他語言可能在某些方面比 Java 更加簡潔或現代化,但它們也有自己的局限和缺點,比如運行速度慢、類型系統弱、錯誤處理困難等。不同的語言適合不同的場景和需求,并不是說一種語言就可以完全取代另一種語言。
總之,我覺得 Java 在未來會被替代的可能性很小,但也不能掉以輕心,在后端開發領域,Go 已經在逐步蠶食 Java 得份額,今年非常火得 ai 模型領域相關,大部分代碼也是基于 Python 編寫。Java 需要在保持優勢領域地位后持續地創新和改進。