Kotlin 是 JetBrains 开发的现代编程语言,可运行于JVM环境同时也能用来开发Android应用。它的1.0Beta版本已经发布,这里是新版本的 特性列表 ;
2010年,长达是十年之久的Java开发让JetBrains的工程师认为老旧的Java语言已经严重阻碍了生产力。他们认为是时候开发一款现代化的JVM语言了,这也是因为他们有足够的资源和专家。本身做各种IDEs起家的JetBrains就开始着手新工具的开发——一个编程语言。
开发新语言有诸多因素需要考虑:首先之前的代码几乎全部用Java编写,所以要考虑平滑迁移的需求;新语言在生产力方面要有巨大提升;同时它要易于学习和理解。这样的工程牵扯到许多方面,不可能从一开始就满足所有需求。这就是为什么他们对核心设计选择进行了一段时间实验和验证,方式是持续收集JetBrains内部和外部的早期使用者的反馈报告,并根据反馈作出进一步的调整。
JetBrains已经在 Intelli IDEA 、 YouTrack 和其它产品中使用Kotlin有一段时间了。也有一些产品完全使用Kotlin( account.jetbrains.com )编写.Kotlin语言已经达到可与Java自由透明交互的地步,Kotlin可以通过versa调用Java方法,源码可在同一项目中混合使用,甚至生成的.class文件完全兼容Java工具。JetBrains内部现在已经有一个超过20个开发人员的团队使用Kotlin开发。
目前已经有大量的开发人员使用Kotlin开发web服务后端和Android应用。下面是GitHub中的公开仓库中Kotlin代码行数的变化:
根据JetBrains开发人员自己的经验和外部用户总结的对Kotlin的印象有:
Kotlin会很快发布正式版。在开发之初JetBrains就承诺了流畅的用户体验,这当然也包括Kotlin语言版本的兼容性。1.0版本之后语言的所有变化都将是后向兼容的:
以上的所有特性仅保证支持JVM/Android平台。
目前为止基本所有的Java或Android框架或库都能平滑地和Kotlin一起工作。当然还有像Spring MVC、Vaadin和Jackson等等其它框架和库。Kotlin也有由JetBrains和社区开发的自己的框架和库。比如: Anko 、 RxKotlin 、 funKtionale 、 kohesive 、 kovenant 和 Kobalt 构建工具 等等 。
学习资料链接: Koans 、 Playground 、 介绍 、 语言文档 。
安装方法: * IntelliJ IDEA 15 ( 高级版或者社区版 ):直接在创建一个Kotlin项目或在Java项目中创建Kotlin文件。 * **Android Studio :通过 插件管理器 安装插件。 * Eclipse :通过 MarketPlace 安装插件。 * 命令行 :下载 编译器 。
社区: Forum 、 Slack ( get invite )、 StackOverflow 、 GitHub (欢迎PRs)。
新闻: 博客 、 Twitter 。
问题追踪
感谢徐川对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群 )。