久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

JVM 語言的興衰史

 Levy_X 2017-11-14

為這是每一種語言的最終命運都是:覆滅湮沒,準(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ù)式編程原理,。它有三個主要的影響:


  • 它讓我質(zhì)疑我寫Java代碼的方式,。 例如,為什么當(dāng)我設(shè)計類時要自動生成getter和setter方法,?

  • 對大多數(shù)開發(fā)者來說,,我覺得Scala很容易寫出缺乏可讀性的的代碼——包括我。

  • 我開始尋找其他替代語言,。


在 Groovy 和 Scala 之后,,第二代(如果你把 Java 也算做第一代的話,則是第三代)JVM 語言包括:


  • JetBrains Kotlin

  • Red Hat Ceylon

  • Eclipse eXtend


大致瀏覽一遍后,,我確信他們沒有太多的吸引力,,不值得我投入時間。


幾年前,,我決定自學(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)注:


  • Google已經(jīng)識別到諸如Scala,、Groovy和Kotlin作為'編程語言'的搜索關(guān)鍵詞,,而沒有把Ceylon和eXtend作為關(guān)鍵詞。對于Ceylon來說,,我只能假裝它是因為Ceylon是一個受歡迎的地方,。對于eXtend,恐怕是因為大家很少在Google中搜索它,。

  • Scala是迄今為止最受歡迎的,,其次是Groovy和Kotlin。我沒有關(guān)于Scala的真實線路圖,。

  • 五月份的Kotlin搜索巔峰是與谷歌在Google I/O上的支持公告相關(guān)的,。

  • 大多數(shù)搜索Scala和Kotlin的數(shù)據(jù)來自中國,考慮到地理位置上的平衡,,Groovy更勝一籌,。

  • Scala搜索與術(shù)語“Spark”強烈相關(guān),,Kotlin搜索與術(shù)語“Android”相關(guān),。


進一步挖掘可能會發(fā)現(xiàn)有趣的事實:


  • xTend沒有死,因為它從未活過,。從來沒有讀過任何關(guān)于它的帖子,。從來沒有聽過一個關(guān)于它的峰會。

  • 2017年,,紅帽公司將Ceylon捐贈給Eclipse基金會,,創(chuàng)建了Eclipse Ceylon。將軟件贈送給基金會的私人行為可能會被不同的方式解釋,。在這種情況下,,盡管圍繞這一舉措進行了可靠的談判,但這并不意味著Ceylon的未來,。

  • 2015年,,Pivotal停止贊助Groovy,,并轉(zhuǎn)移到Apache基金會。雖然我相信Groovy有足夠的支持基礎(chǔ),,并且在JVM腳本上也是獨一無二的,,但這并不是一個好兆頭。這與Groovy核心創(chuàng)建者的提交頻率相關(guān):它們的提交次數(shù)急劇減少 - 到某些停止點,。

  • 有趣的是,,Scala和Kotlin最近都入侵了其他領(lǐng)域,并將其翻譯成JavaScript并編譯成原生代碼,。

  • 在Java中,,JEP 286是使用類型推斷來增強語言的提議,這是Scala和Kotlin已經(jīng)提供的功能,。然而,,它僅限于局部變量。

  • 有意思的是,,通過保留語言的一小部分,,來努力提升Scala編譯時間。然后提出問題,,為什么要保持Scala,,如果你拋棄它強大的功能(如宏)?


我并不擅長預(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的不間斷的后向兼容性一樣。


親愛的讀者,,盡管(特別是)你不同意上述的觀點,,但我將對你的意見非常感興趣。只要你有禮貌地提供事實,,并證實你的觀點即可,。



  • 來自:開源中國社區(qū)

  • 鏈接:https://www.oschina.net/translate/the-rise-and-fall-of-jvm-languages

  • 原文:https:///articles/the-rise-and-fall-of-jvm-languages

  • 程序員大咖整理發(fā)布,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)

【點擊成為安卓大神】

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多