精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

敗給Kotlin, Java到底弱在哪兒?

責任編輯:editor006

作者:許真真

2017-10-27 16:38:06

摘自:it168網站

前不久Google在Google I O 上宣布為Kotlin提供Android官方支持,這也意味著Java今后將告別Android開發的舞臺。Scala有一個明顯的缺陷是編譯時間往往很長,開發人員如果要構建一個龐大的Scala存儲庫時,這個問題會更加明顯。

前不久Google在Google I / O 上宣布為Kotlin提供Android官方支持,這也意味著Java今后將告別Android開發的舞臺。那么,為何是Kotlin,Java到底弱在哪兒?本文將帶你解讀Android社區選擇Kotlin的幾大理由!

  Kotlin VS Java

早在Google I / O公布Kotlin在Android領域將取代Java以前,2016年2月發布的Kotlin 1.0版本Android社區就已經提出了這個問題。這是因為Kotlin代碼不僅比Java更安全,還更簡潔。而且Kotlin和Java文件在Android應用程序中是可以共存的,所以Kotlin不僅可以應用于新程序的開發,還可以對現有的Java應用程序進行擴展。

此外,對于Android開發程序員來說這也可能是一個很大的福利——大多數的Android文檔和示例都是關于Java的。另一方面,在Android Studio中將Java轉換為Kotlin也非常簡單,只需將Java代碼粘貼到Kotlin文件中即可。

Kotlin的優勢顯而易見,資深的Java開發人員要學習Kotlin也只需要幾個小時的時間就能搞定。而且學習的范圍也僅僅是包括消除空參考錯誤、啟用擴展功能、支持編程功能以及添加協同工作等。

敗給Kotlin,     Java到底弱在哪兒?

  Kotlin VS Scala

由于Android開發工具對Scala支持還有一定的障礙,而且Scala的Android庫也是很難搞定的一個問題,所以Android社區最終選擇了Kotlin。另一方面,Scala社區也已經明顯意識到了這個問題,正在努力的解決這些問題。

但對于Scala本身是不能否定的。因為不同的環境中應用到的語言和系統工具可能也不相同。例如,Apache Spark主要是用Scala編寫的,Spark的大數據應用程序通常也會用到Scala。

在許多方面,Scala和Kotlin代表著面向對象語言的融合。這兩種語言許多的概念和符號都是共享的,例如不可聲明的val與可變聲明var。但是在某些方面比方說在聲明lambda函數時的是設置雙箭頭還是單箭頭的問題還是略有不同。

但是Scala有一個明顯的缺陷是編譯時間往往很長,開發人員如果要構建一個龐大的Scala存儲庫時,這個問題會更加明顯。而Kotlin是在最常見的軟件場景中被設計的,它的編譯速度比Java代碼編譯都快,堪稱秒殺Scala。

Kotlin與Java的互操作性

談到null處理和檢查異常的差異問題,你可能會想知道Kotlin對Java處理互操作性調用結果的處理。Kotlin推出的平臺類型與Java類型完全類似,這就意味著可以為空但會生成空指針異常。Kotlin也可能在編譯時向代碼中注入一個斷言,以避免觸發實際的空指針異常。平臺類型沒有明確的語言符號,但是如果Kotlin必須報告平臺類型。

在大多數情況下,從Kotlin調用的代碼也可以按照程序員期望的方式工作。此外Kotlin與Java的互操作性涉及到Java工具方面上——Kotlin沒有自己的編譯器或IDE,但是有流行的Java編譯器和IDE插件,包括IntelliJ IDEA,Android Studio和Eclipse。也沒有自己的構建系統,使用的是Gradle、Maven和Ant等。

敗給Kotlin,     Java到底弱在哪兒?

總體來講,Kotlin比Java擁有更多的優勢。不僅可以在JVM上運行代碼,還可以生成JavaScript和本機代碼。與Java相比,Kotlin更安全、簡潔明確。除了面向對象編程之外,它還支持功能編程,提供擴展功能、構建器、協同程序等。重要的是,對于已經熟悉Java的程序員來講無需浪費太多的時間學習Kotlin。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 阿拉善盟| 汪清县| 无为县| 江达县| 青浦区| 山阳县| 龙井市| 汉阴县| 盐源县| 襄樊市| 汾阳市| 永平县| 开封县| 镇赉县| 宜兴市| 梁平县| 黑山县| 湖南省| 集安市| 杭州市| 乳山市| 黄梅县| 高雄县| 宜春市| 白城市| 邢台县| 郴州市| 大连市| 临泽县| 安西县| 黑山县| 荥经县| 灵宝市| 安徽省| 贵德县| 宁蒗| 太保市| 油尖旺区| 巍山| 荥经县| 宁津县|