|
為這是每一種語言的最終命運都是:覆滅湮沒,準(zhǔn)確地說是越來越少地被利用到新項目中。問題是:最后誰會取代它們呢? 上周我們在 InfoQ 一篇同樣類型的文章。至少,這篇文章說出來這個語言可能的替代者 Kotlin。這讓我對 JVM 的語言現(xiàn)狀和趨勢有了許多思考:注意,語言的趨勢與每個語言的技術(shù)優(yōu)點和缺點無關(guān)。 我于 2001 年年底開始做 Java 開發(fā),當(dāng)時,Java 是真的很酷。每一個新開發(fā)者都想使用所謂的新技術(shù):無論是 .NET 還是 Java,而有經(jīng)驗一些的開發(fā)者使用的是 COBOL。我在學(xué)校學(xué)習(xí)了 C 和 C ,所以 Java 內(nèi)存管理對于我來說非常簡單。我對 Java 很滿意,但并不是每個人都這么認為。 Groovy 誕生于 2003 年。但我不記得我是什么時候開始學(xué)習(xí)它的。而實際上:使用它后我不再需要一門腳本語言了。在具有多個開發(fā)團隊并長時間開發(fā)企業(yè)級應(yīng)用程序的背景之下,靜態(tài)類型相比動態(tài)類型擁有巨大優(yōu)勢。尤其在進行產(chǎn)品測試以檢查類型系統(tǒng)時。我唯一需要創(chuàng)建腳本的時候,是作為 WebSphere 管理員時:選擇 Python 還是 TCL。 一年之后,Scala在2004年被我接受。 我不記得是什么時候以及是怎樣知道Scala的,但那時候確實是很晚了。與Groovy相反,我決定試試它。主要的理由是我長期以來對創(chuàng)建“更好”的代碼(更好的可讀性和可維護性)感興趣。Scala是靜態(tài)類型的,它更像我正在尋找的東西。我報了Coursera課程Scala中的函數(shù)式編程原理。它有三個主要的影響:
在 Groovy 和 Scala 之后,第二代(如果你把 Java 也算做第一代的話,則是第三代)JVM 語言包括:
大致瀏覽一遍后,我確信他們沒有太多的吸引力,不值得我投入時間。 幾年前,我決定自學(xué)基本的 Android 開發(fā),以便能夠了解移動開發(fā)者的開發(fā)環(huán)境。好家伙,即使有多年開發(fā) Java EE 和 Spring 應(yīng)用程序的經(jīng)驗,但它還真給我一個驚喜了 - 還不是愉快的那種。這就像回到過去十年前那樣的開發(fā)體驗,Android API 非常低級,更別說在本地測試應(yīng)用程序。經(jīng)過快速的搜索相關(guān)信息,我發(fā)現(xiàn) Kotlin 在很多地方被提到,所以最后決定試一試。我立即愛上 Kotlin 了,得虧它的擴展功能,我可以將現(xiàn)有的垃圾 API 改進得更好,甚至更優(yōu)雅。我開始更多的挖掘這門語言,并開始在服務(wù)器端項目中使用 Kotlin。然后,Spring 框架宣布了與 Kotlin 的整合。然后在 Google I/O 大會上,Google 也宣布在 Android 開發(fā)中官方支持 Kotlin。 這篇文章基于我個人的體驗和觀點。如果你更喜歡閱讀你贊同的帖子,請隨時停止閱讀。 除了我自己的經(jīng)驗,這些語言的現(xiàn)狀是如何呢? 我在Google Trends中進行了一個快速搜索。 有幾件有趣的事情值得關(guān)注:
進一步挖掘可能會發(fā)現(xiàn)有趣的事實:
我并不擅長預(yù)測,但這是我的一些展望: 1、Groovy擁有自己的強項——腳本,這就留下Java、Scala和Kotlin在服務(wù)器端的JVM上為純應(yīng)用程序開發(fā)而爭奪占用率。 2、Scala也開創(chuàng)了自己的領(lǐng)域。Scala開發(fā)人員通常認為這種語言優(yōu)于Java(或Kotlin),而不會轉(zhuǎn)移到另一種語言。然而,由于Spring和Google的公告,Kotlin可能會成為對Java不滿意的開發(fā)人員的Scala的替代。 3、Kotlin已在Android戰(zhàn)場上獲勝。Scala過去忽視了這個領(lǐng)域,并且不會在將來中繼續(xù)投入,因此Kotlin在這場比賽中已經(jīng)遙遙領(lǐng)先了。 4、Kotlin在手機上的崛起不是一個預(yù)期中的舉動,而是一個不錯的意想不到的驚喜。JetBrains一旦注意到這個趨勢就把它用作了前進的路標(biāo)。 5、Kotlin與Java的互操作性是殺手級別的功能,這可能會說服管理者將遺留項目遷移到Kotlin上然后開始新項目。正如Java的不間斷的后向兼容性一樣。 親愛的讀者,盡管(特別是)你不同意上述的觀點,但我將對你的意見非常感興趣。只要你有禮貌地提供事實,并證實你的觀點即可。
|
|
|