Kotlin 语言简介

在动手装环境之前,我们先认识一下 Kotlin 到底是什么、为什么值得学、能用它做什么。理解了背景,学习的时候会更有的放矢。

Kotlin 是什么?

Kotlin 是由捷克软件公司 JetBrains(就是做 IntelliJ IDEA、PyCharm、WebStorm 的那家)在 2011 年启动研发2016 年发布 1.0 稳定版的一门现代静态类型语言。它跑在 JVM(Java 虚拟机)上,可以和 Java 无缝互调,后来又支持编译成 JavaScript(Kotlin/JS)和原生机器码(Kotlin/Native)。

它的核心目标是:解决 Java 的痛点(冗长样板代码、危险的空指针、缺失的现代语言特性),同时与 Java 100% 互操作——Kotlin 代码可以调用 Java 库,Java 代码也能调用 Kotlin,这让它能在庞大的 Java 生态里无缝落地。

诞生背景:JetBrains 的"不满意"

Kotlin 的诞生源于 JetBrains 内部对自己主力工具(IDEA)的开发体验不满。他们用 Java 写 IDEA,但 Java 写起来啰嗦、空指针频发、缺少 lambda、缺少扩展函数、缺少数据类。他们试过 Scala,但 Scala 编译慢、IDE 支持差、与 Java 互操作不顺畅。

于是 2011 年由 Dmitry Jemerov 牵头立项,目标是造一门"像 Java 一样能落地、像 Scala 一样现代、像 Python 一样简洁"的语言。命名来自俄罗斯圣彼得堡附近的 Kotlin 岛(和 Java 命名自 Java 咖啡异曲同工)。

Kotlin 的核心特点

第一个 Kotlin 程序

说了这么多,先看一眼代码。Kotlin 的"Hello World"长这样:

fun main() {
    println("Hello, World!")
    println("你好,Kotlin!")
}
// 输出:
// Hello, World!
// 你好,Kotlin!

运行它的几种方式:

# 方式一:IntelliJ IDEA 里右键 -> Run '文件名Kt'(推荐)
# 方式二:命令行用 kotlinc 编译
kotlinc hello.kt -include-runtime -jar hello.jar
java -jar hello.jar
# 输出: Hello, World!

# 方式三:用在线工具,无需安装
# https://play.kotlinlang.org/

和 Java 的 Hello World 相比,Kotlin 省略了 public classpublic static void main(String[] args) 这一长串修饰符——fun main() 就够了。printlnSystem.out.println 的简写包装。整个函数直接写在文件顶层,不需要包在 class 里(底层会自动生成一个 class,但你不用管)。

Kotlin 都用在哪?典型应用场景

使用 Kotlin 的大厂包括:Google、Square、Netflix、Pinterest、Trello、Atlassian、Uber、Slack 等等。生态已经非常成熟。

Kotlin vs 其他语言

Kotlin 的"实用主义"哲学

研究 Kotlin 的设计文档你会发现一个反复出现的词:pragmatic(实用主义)。它不追求理论上的纯粹(不像 Scala 那样学术),也不为了简洁牺牲可读性(不像 APL、J)。它就是想做一个让你写得爽、出错少、能落地的语言。这种哲学体现在:

该不该学 Kotlin?

如果你的方向是Android 开发、服务端开发、跨平台移动开发,Kotlin 几乎是必修课。学完本系列,你将能独立用 Kotlin 写一个完整的 Android App、读懂开源 Kotlin 项目、用 Ktor/Spring Boot 写服务端接口。

另外,Kotlin 设计得非常优雅,学习它本身就是一种享受——很多概念(空安全、扩展函数、when、密封类、协程)会让你成为更好的程序员,迁移到其他语言也受益。

本教程的目标读者

配套学习资源

← 返回 Kotlin 教程目录

下一篇 Kotlin 环境搭建

✈️💬