编程语言之Kotlin
2023-04-17 10:07:47 阿炯

Kotlin是一种在Java虚拟机上执行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛。2012年1月,著名期刊《Dr. Dobb's Journal》中Kotlin被认定为该月的最佳语言。虽然与Java语法并不兼容,但在JVM环境中Kotlin被设计成可以和Java代码相互运作,并可以重复使用如Java集合框架等的现有Java引用的函数库。Hathibelagal写道,“如果你正在为Android开发寻找一种替代编程语言,那么应该试下Kotlin。它很容易在Android项目中替代Java或者同Java一起使用。” 在ApacheV2.0协议下授权。


这是一个基于 JVM 的新的编程语言,它可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。Kotlin 已正式成为 Android 官方支持开发语言。

Kotlin在2016 年官方正式发布首个稳定版本,发展简史如下:
2011 年 7 月,JetBrains 推出 Kotlin 项目;
2012 年 2 月,JetBrains 以 Apache 2 许可证开源此项目;
2016 年 2 月 15 日,Kotlin v1.0(第一个官方稳定版本)发布;
2017 Google I/O 大会, 宣布 Kotlin 已正式成为安卓开发官方支持开发语言。

Kotlin 具备类型推断、多范式支持、可空性表达、扩展函数、模式匹配等诸多下一代编程语言特性。Kotlin 的编译器 kompiler 可以被独立出来并嵌入到 Maven、Ant 或 Gradle 工具链中。这使得在 IDE 中开发的代码能够利用已有的机制来构建,可以在新环境中自由使用。

特性
简洁:大大减少样板代码的数量。
安全:避免空指针异常等整个类的错误。
互操作性:充分利用 JVM、Android 和浏览器的现有库。
工具友好:可用任何 Java IDE 或者使用命令行构建。


最新版本:2.0
根据2023年4月消息,在 KotlinConf 2023 的消息称,Kotlin 2.0 和 Kotlin K2 编译器即将发布。从 1.8.20 开始,已经可以通过常规 Kotlin 语言版本标志(-language-version)启用 Kotlin 2.0 的预览。2.0 发布后,将提供几个备受期待的功能:静态扩展、集合文字、基于名称的解构、上下文接收器和显式字段。

JetBrains一直在为 Kotlin 编译器(代号 K2)开发新的前端,前端是编译器的一部分,负责解析代码和执行语义分析、数据流分析、调用解析和类型推断。新的 K2 编译器最显著的改进是编译速度大幅提高。有了新架构,编译流水线将快一倍!当然,具体的速度改进会因具体项目而异。可以在 2.0 版本预览中看到 Kotlin 编译器构建自身的编译速度改进示例。

工具和编译器插件改动
使用新架构,可以更快地引入新功能,而无需对编译器进行大量修改。新的 K2 编译器将被整合到许多工具中,此外 Kotlin 的 IDE 插件将被重写。Google 正在为 Kotlin 符号处理 (KSP) 引擎进行更新,以便现有插件能够自动开始与 Kotlin 2.0 一起工作。谷歌还与 JetBrains 密切合作,将 K2 集成到 Android Studio 和 Compose 编译器中,进一步提升开发者体验。

在 KotlinConf 2023 开幕主题演讲中, Grace Kloba 分享了来自 Google 的最新消息:Google 内部几乎全在用 Kotlin 搞 Android 开发。

Kotlin 在 2016 年左右开始在 Android 社​​区中流行起来。2017 年谷歌宣布在 Android 上正式支持 Kotlin,并通过与 JetBrains 一起创建 Kotlin 基金会来发展这门语言。如今 Kotlin 是最流行的 Android 开发语言。在排名前 1000 的 Android 应用程序中,超过 95% 使用 Kotlin,超过 50% 的专业 Android 开发人员使用 Kotlin 作为他们的主要语言(相比之下,只有 25% 选择 Java 编程语言)。而在年度调查中,使用 Kotlin 的专业 Android 开发人员对这门语言的满意度是 96.9%,比 Java 开发人员高出 9 个百分点。

作为让 Kotlin 成为 Android 开发单一语言的最后一步,谷歌还宣布:从 Android Studio Giraffe 开始,Gradle Kotlin DSL 将成为 Android 应用程序的默认构建语言。谷歌对 Kotlin 的兴趣并不止于 Android 应用。据谷歌博客介绍,谷歌使用 Kotlin 的工程师中,超过 45% 会将这门语言用于服务器开发。现在 Google 的源代码控制系统中拥有超过 1500 万行 Kotlin 代码,而且这一数字逐年翻了一番。

官方主页:https://kotlinlang.org/