Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它可以被编译成为 JavaScript 源代码。虽然与Java语法并不兼容,但 Kotlin 可以和 Java 代码相互运作,并可以重复使用现有的 Java 类库。为了解 Kotlin 的更多相关信息,InfoQ 采访了 Kotlin 编译器团队成员 Svetlana Isakova,并希望通过本文为你带来一些关于 Kotlin 方面的启示。
InfoQ:为什么要开发 Kotlin 这门语言?开发一门语言需要考虑哪些因素?
Svetlana Isakova:主要的考量因素,包括这种语言由谁使用,他们又为何使用。在 Kotlin 刚刚诞生之时,人们强烈需要一种能够解决 Java 痛点(例如语法冗长以及可空性)等问题的面向 Java 平台的现代语言。Kotlin 很好地满足了这一需求,因此很多人现在倾向于选择 Kotlin 替代 Java。
如今,Kotlin 试图解决社区的另一大痛点:利用一种语言在不同平台之间共享代码。这种 Kotlin/ 多平台技术仍处于试验阶段,但通过观察有多少人在生产当中使用这项技术,我们得以确认这种需求相当强烈,我们也希望能够为此提供一套良好的实用解决方案。
另一项因素在于,编程语言需要拥有一家强大的公司作为后盾。JetBrains 是一家在全球范围内享有盛誉的成功企业,拥有丰富的相关专业知识。为多种不同语言(包括 Java、C#、Python、Ruby 以及 Go 等)创建 IDE,而 Kotlin 目前正是 JetBrains 的高优先级项目。目前,JetBrains 内部有一支 70 多人的团队,正在社区的帮助下推动 Kotlin 及其 IDE 支持工作。
InfoQ:在今年的 Google I/O 大会上,谷歌宣布 Kotlin 是安卓开发的首选语言,请您从 Kotlin 的语言特性上来说一下这是为什么?您认为谷歌这么做的原因有哪些?
Svetlana Isakova:这项公告旨在鼓励开发人员转向 Kotlin,同时也使得谷歌公司能够专注于优先为 Kotlin 开发面向 Android 库的新型 API。Kotlin 语言中的大部分功能都是为了与 Java 实现轻松互操作而设计的。但除此之外,通过运用 Kotlin 中的特定功能(例如带有接收者的 lambda 表达式以及运算符重载等 DSL 创建功能,以及协程等),Kotlin 优先型 API 将带来更强大的表达能力与功能水平。