(本章內(nèi)容來源:百度百科)
Kotlin 是一個基于 JVM 的新的編程語言,由 JetBrains 開發(fā)。
Kotlin可以編譯成Java字節(jié)碼,也可以編譯成JavaScript,方便在沒有JVM的設備上運行。
JetBrains,作為目前廣受歡迎的Java IDE IntelliJ 的提供商,在 Apache 許可下已經(jīng)開源其Kotlin 編程語言。
Kotlin已正式成為Android官方支持開發(fā)語言。
設計目標
創(chuàng)建一種兼容Java的語言
讓它比Java更安全,能夠靜態(tài)檢測常見的陷阱。如:引用空指針
讓它比Java更簡潔,通過支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實現(xiàn)。
讓它比最成熟的競爭對手Scala語言更加簡單。
開放源碼
其基礎編譯器(他們將其改為kompiler——開創(chuàng)了一系列以K字打頭的用語——甚至連 contributors 這類詞他們也用改成了kontributors)可以被獨立出來并嵌入到 Maven、Ant 或 Gradle 工具鏈中。這使得在 IDE 中開發(fā)的代碼能夠利用已有的機制來構(gòu)建,從而盡可能的減少了在新環(huán)境中使用所受的干預,哪怕與那些沒有安裝 Kotlin 插件的開發(fā)人員一起合作項目也沒有問題。
The IntelliJ Kotlin 插件擴展了 Java 編譯器使得 Kotlin 代碼能夠得以編寫、編譯和調(diào)試。除此之外,關于基本的 Java 集合,已經(jīng)有編寫好的幫助函數(shù),可以更順暢地銜接將在 Java 8 中出現(xiàn)的集合擴展。
有兩篇文章對 Kotlin 與 Java 以及 Kotlin 與 Scala 分別進行了比較,對各自特性和異同進行了對比。即便 Scala 可能還是更為強大些,Kotlin 還是嘗試著提供比 Java 更好的函數(shù)、模式匹配、空指針預防和泛型。該語言同時也支持特征(traits)和模式匹配。
Kotlin 插件將在 IntelliJ(雖然提前使用計劃已經(jīng)演示了可用的構(gòu)建,而 Kotlin 的快照構(gòu)建也可以通過 JetBrains GitHub 網(wǎng)頁得到,不過它還是要等到)未來發(fā)布的版本中才能使用。但是,你現(xiàn)在就可以在基于 web 的演示中體驗使用該語言,通過你的瀏覽器來編輯 Kotlin 代碼、編譯并運行感受一下。
Kotlin,類似 Xtend 一樣,旨在提供一種更好的 Java 而非重建整個新平臺。這兩種語言都向下編譯為字節(jié)碼(雖然 Xtend 是首先轉(zhuǎn)換成相應的 Java 代碼,再讓 Java 編譯器完成繁重的工作),而且兩者都引入了函數(shù)和擴展函數(shù)(在某個有限范圍內(nèi)靜態(tài)地增加一個新方法到某個已有類型的能力)。Xtend 是基于 Eclipse 的,而 Kotlin 是基于 IntelliJ 的,兩者都提供無界面構(gòu)建。能夠首先演變到其他 IDE 的語言有可能成為最后的贏家。

本章僅介紹Kotlin,后續(xù)章節(jié)將持續(xù)介紹Kotlin基礎語法,函數(shù),類與對象,接口等等,從Hello World開始。使用Kotlin開發(fā)Android應用。
學習本系列章節(jié)前提
1、有Android開發(fā)和Android SDK相關基礎知識。
2、跟著編寫實例學習Kotlin。
3、使用Android Studio開發(fā)。
4、本系列僅供學習。