Kotlin語言1.0Beta發布,JetBrain介紹其設計理念

jopen 9年前發布 | 17K 次閱讀 Kotlin

 

KotlinJetBrains 開發的現代編程語言,可運行于JVM環境同時也能用來開發Android應用。它的1.0Beta版本已經發布,這里是新版本的 特性列表 ;

Kotlin起源與設計理念

2010年,長達是十年之久的Java開發讓JetBrains的工程師認為老舊的Java語言已經嚴重阻礙了生產力。他們認為是時候開發一款現 代化的JVM語言了,這也是因為他們有足夠的資源和專家。本身做各種IDEs起家的JetBrains就開始著手新工具的開發——一個編程語言。

開發新語言有諸多因素需要考慮:首先之前的代碼幾乎全部用Java編寫,所以要考慮平滑遷移的需求;新語言在生產力方面要有巨大提升;同時它要易 于學習和理解。這樣的工程牽扯到許多方面,不可能從一開始就滿足所有需求。這就是為什么他們對核心設計選擇進行了一段時間實驗和驗證,方式是持續收集 JetBrains內部和外部的早期使用者的反饋報告,并根據反饋作出進一步的調整。

JetBrains已經在 Intelli IDEAYouTrack 和其它產品中使用Kotlin有一段時間了。也有一些產品完全使用Kotlin( account.jetbrains.com )編寫.Kotlin語言已經達到可與Java自由透明交互的地步,Kotlin可以通過versa調用Java方法,源碼可在同一項目中混合使用,甚至 生成的.class文件完全兼容Java工具。JetBrains內部現在已經有一個超過20個開發人員的團隊使用Kotlin開發。

目前已經有大量的開發人員使用Kotlin開發web服務后端和Android應用。下面是GitHub中的公開倉庫中Kotlin代碼行數的變化:

Kotlin語言1.0Beta發布,JetBrain介紹其設計理念

Kotlin初印象

根據JetBrains開發人員自己的經驗和外部用戶總結的對Kotlin的印象有:

  • 更少代碼量
  • 高可讀性
  • 跟高的類型安全性
  • 更高的表現力
  • 同工具的交互操作流暢

Beta版本的意義

  • 正在準備發布官方正式版本相關工作
  • 二進制格式已經完成
  • 主要的語言變化已經完成

兼容性

Kotlin會很快發布正式版。在開發之初JetBrains就承諾了流暢的用戶體驗,這當然也包括Kotlin語言版本的兼容性。1.0版本之后語言的所有變化都將是后向兼容的:

  • 新版本的編譯器將兼容舊版本二進制文件,但舊版編譯器或許不能兼容新的二進制文件,就像javac 1.6不能讀取javac 1.8 編譯的classes文件。
  • 舊版本二進制文件將能夠和新版本二進制文件一起在runtime一起運行,但新版本代碼可能需要新的依賴。

以上的所有特性僅保證支持JVM/Android平臺。

關于Kotlin的一些事實

  • 它是 開源 的(在 Apache 2.0 許可證 下):編譯器、運行時庫和所有的工具,包括IED。
  • 它提倡 函數式 編程風格(同時也是一個多范式語言)
  • 它是靜態編譯的,相較于Java它 沒有運行時開銷
  • 它通過 Quasar 支持 高效安全 的并發。
  • 它和 IntelliJ IDEA是綁定的 (最終版和OSS社區版也是),同時也是開箱即用的。
  • 它有 Android Studio、Eclipse、Maven、Gradle 和Ant插件(更不用說IntelliJ IDEA和TeamCity)。
  • 它有 REPL
  • 它有一個活躍和有幫助的 社區 ,提供有用的庫。
  • 目前已經有兩本關于它的書出版了: Kotlin in ActionKotlin for Android Developers

遷移

目前為止基本所有的Java或Android框架或庫都能平滑地和Kotlin一起工作。當然還有像Spring MVC、Vaadin和Jackson等等其它框架和庫。Kotlin也有由JetBrains和社區開發的自己的框架和庫。比如: AnkoRxKotlinfunKtionalekohesivekovenantKobalt 構建工具 等等

學習

學習資料鏈接: KoansPlayground介紹語言文檔

安裝方法: * IntelliJ IDEA 15高級版或者社區版 ):直接在創建一個Kotlin項目或在Java項目中創建Kotlin文件。 * **Android Studio :通過 插件管理器 安裝插件。 * Eclipse :通過 MarketPlace 安裝插件。 * 命令行 :下載 編譯器

社區: ForumSlackget invite )、 StackOverflowGitHub (歡迎PRs)。

新聞: 博客推ter

問題追蹤

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!