摘要:Sharples解釋說Java做了很多“很酷的動態工作”,但是微服務和無服務器等技術並不需要這些功能。根據Red Hat產品管理高級總監Rich Sharples的說法,在25年前創建Java時,Java的設計考慮了網絡,並且具有許多用於網絡通信的功能。

Java已經存在了很長時間,並且在過去的幾年中,它進行了重大更改以保持其相關性。根據JetBrains 在2019年的開發者生態系統狀況報告,它仍然是開發人員中最受歡迎的編程語言。但它可能不會永遠保留該標題。

儘管它仍然位於許多編程語言的頂部,但其他語言(例如Python)也正在緊隨其後。實際上,TIOBE預測,在未來幾年中,Python將超越Java(和C)成爲最受歡迎的編程語言。

Python不是Java的唯一競爭者。Kotlin的崛起也奪走了Java的部分份額,特別是在Google開始支持Kotlin進行Android開發之後。

Java恰好在正確的時間放置在正確的位置,類似於Python現在在正確的時間在正確的位置出現在AI和機器學習上的興趣激增。

根據Red Hat產品管理高級總監Rich Sharples的說法,在25年前創建Java時,Java的設計考慮了網絡,並且具有許多用於網絡通信的功能。大約在多處理器系統開始流行的時候,它是最早利用這些硬件進步而無需開發人員進行過多工作的語言之一。

除了這些功能之外,它還獲得了Sun Microsystems,IBM和Oracle的業界大力支持,最終收購了Sun。所有這些因素共同使Java成爲一種非常成功的語言,並且是數十年來許多開發人員的首選。

Sharples解釋說,之所以如此受歡迎,是因爲它仍然可以滿足跨網絡工作的需求。當然,它也是開源的。“如今,技術領域發生的幾乎所有有趣的事情都是圍繞開源進行的。而且在主流開放源代碼中也相對較早。因此,從技術角度來看,它已選中了所有複選框。”他說。

Java非常適合當時的環境,但是隨着技術的變化,它還沒有真正老化。Sharples解釋說Java做了很多“很酷的動態工作”,但是微服務和無服務器等技術並不需要這些功能。

根據Sharples的說法,當在這類環境中工作時,開發人員往往會在遇到問題時才重新開始。夏普萊斯說:“如果我們看到一個問題,我們看到一個錯誤,我們就將所有東西都燒掉,然後以最新版本重新部署新容器。”

因此,實際上不再需要Java擁有的所有這些動態功能。“您得到的很多東西在那些現代體系結構中並沒有真正提供太多價值……回想一下,Java被設計爲在大型多進程計算機上運行。您幾乎可以保證自己擁有這臺機器,並且可以爲每個JVM或應用程序服務器運行多個應用程序。那不是我們今天生活的世界。現在,您可以在一定時間內獲得虛擬機的一部分,甚至只是一個函數的一部分。因此,這些功能中的許多功能帶來了很大的負擔和複雜性,並且價值不大。因此,如果您將函數作爲服務看待,您不會發現Java提到了很多東西。”

但是Sharples認爲Java不會消失。他認爲Java可能會在很多年甚至幾十年內仍會經歷增長。

有許多項目使Java在當今的環境中蓬勃發展,例如Oracle的GraalVM(它允許在共享的運行時中實現互操作性)和Red Hat的Quarkus(這是Kubernetes的本機Java框架)。

負責Java Enterprise Edition(現爲Jakarta EE)的Eclipse基金會執行董事Mike Milinkovich也認爲Java本身將會發展以支持這些技術。“我認爲從JVM到Java都將發生Java更改,” Milinkovich說。“因此,JVM中的任何新功能都將有助於將JVM與Docker容器集成在一起,並能夠更好地在Kubernetes中對Docker容器進行檢測,這無疑將是一個很大的幫助。因此,我們將尋求Java SE向該方向發展。”

相關文章