什麼會使Java走向衰亡?

不管這些結果是如何產生的還是它們是否反映了現實情況,我們都不能否認Java在多種環境中仍然是一種流行的語言。

什麼會使Java走向衰亡?


但是,Java有一天會死掉。沒有什麼可以天長地久。

無效編程語言的真正定義是沒有人使用過,但是這很難實現。即使是古老且未被廣泛採用的語言(例如,您聽說過Modula-3嗎?),仍在使用,維護或至少演變為其他語言。

當然,這是一個循序漸進的過程,它可以通過多種方式發生。從實用的角度來看,讓我們考慮一下,即使不再用於新項目中的編程語言也已失效,儘管它可能存在於許多舊項目中(COBOL是一個很好的例子)。

既然Java最終會發生這種情況,那麼什麼會殺死它呢?

讓我們分析一下選項。

羅伯特·“鮑伯叔叔”·馬丁在演講中說,殺死Smalltalk的原因可能會殺死Ruby Too,殺死Smalltalk的原因是太容易弄得一團糟,自大導致了不專業的做法,例如缺乏測試驅動的開發(TDD)。

您可以用任何語言搞亂。當然,在某些語言中,比其他語言更容易造成混亂(例如,在動態類型的語言中,我們可以隨時更改變量的類型),但在Java中沒有這個問題。

另外,在Java社區中,採用了良好做法的比率很高,例如設計模式和TDD,這有助於我們開發更好的軟件。

因此,讓我們探索另一個選擇。

Java是一種面向對象的語言。如果其他(新)範式接管了怎麼辦?如果面向對象的編程過時了怎麼辦?

好吧,這不太可能-長期以來基本面並沒有真正改變很多。1950年代,1960年代甚至1970年代發生了結構,功能和麵向對象編程等重大創新,但是從那以後,我們再也沒有看到如此重要的東西了。

但是,在過去的十年中,出現了許多具有現代語法的新語言和具有新功能的框架。

那麼,缺乏現代語法和功能會殺死Java嗎?

不,我不這麼認為。

您還記得(或聽說過)EJB 2.0及其實體Bean嗎?他們很糟糕,但是諸如Rod Rod Johnson和Gavin King之類的Java社區成員以Spring和Hibernate之類的框架作為回應。

以類似的方式,Java並不是一種功能齊全的語言,但是由於使用了Vavr之類的庫,我們可以使Java更具功能性。

我的意思是,如果Java缺少某些東西,那麼有人會創建一些東西(框架,工具,規範等等)來填補這一空白。

那會是另一種編程語言嗎?

讓我們以JavaScript為例。畢竟,JavaScript正在吞噬整個世界,對吧?

我們可以在後端使用Node.js,在移動設備上使用類似React Native或Ionic之類的東西,我們甚至不提前端中的所有選項。

但是,至少在企業軟件中,我看不到JavaScript在將來會取代Java。JavaScript沒有在企業界成功的框架或工具。它還沒有可與Java虛擬機(JVM)相比的東西,JVM是大型且關鍵任務軟件的首選平臺。

那科特林呢?

Kotlin是一種語言,於2011年首次出現,最近,Google宣佈在Android上對Kotlin提供一流的支持。它已被知名公司逐漸採用,不僅限於其Android應用程序(此處和此處的示例)。

除了其現代功能之外,Kotlin是一種開源語言,並且得到了生產最佳Java IDE的公司的支持。

因此,如果您問我,是的,Kotlin看起來像是在(遙遠)未來取代Java的理想人選。

但是,讓我們超越這一點。

當然,Java將被一種或多種語言取代。

哪個)?

我不確定,並且目前不知道是否有人對此問題有答案。

我確定沒有一種語言可以殺死Java。就此而言,沒有外在的東西。

Java 的滅亡將是無法跟上市場需求

編程語言是構建可解決計算機問題的應用程序的工具。如果語言X提供了抽象,模型,工具或框架,與Java相比,它們可以提高您的生產率或創建更高效​​的代碼,那麼您將選擇哪種?

即使在Java版本之間,如果可以在Java 1.4和Java 9之間進行選擇,您是否也會選擇Java 1.4?您是否會錯過使用lambda或泛型的機會?我不這麼認為。您將需要較新版本的功能。

在過去的這些年中,Java贏得了成為冗長,笨拙的語言的美譽,它用於諸如檢查異常,內部類,getter和setter之類的事情。直到Java 7(有些人會說Java 8)才開始好轉。

但是,Java 7於2011年發佈,比Java 1.4(於2002年發佈)晚了九年。在這個時代,這是不可接受的,並且可能導致惡性循環。

仔細查看TIOBE頁面上的Java圖形。儘管Java一直排在前三名,但是明顯的下降趨勢表明它正在失去市場份額。這種趨勢在所有語言中都是普遍的。最可能的原因是編程語言的數量正在增長,並且應用程序正在以多種語言編寫。結果,競爭比以往任何時候都要激烈。

如果一種語言由於被別人認為更好而失去了流行性,那麼人們就不會向新一代開發人員教授這種語言。

不會創建教程,課程和書籍。

寶貴的社區成員將被其他技術吸引。

該語言不會在新環境中使用。

這將有助於進一步降低語言流行度。

最後一段有很多道理。

但這不僅僅是Oracle的工作。社區也必須保護Java。

最後,開發這麼多年我也總結了一套學習Java的資料與面試題,如果你在技術上面想提升自己的話,可以關注我,私信發送領取資料或者在評論區留下自己的聯繫方式,有時間記得幫我點下轉發讓跟多的人看到哦。

什麼會使Java走向衰亡?


什麼會使Java走向衰亡?


分享到:


相關文章: