0 基本介绍
相信很多开发者对Kotlin还是比较陌生的。 Kotlin是一种新型的编程语言,由JetBrains公司开发与设计,在2012年开源, 但没引起什么注意。 直到2017年google宣布将Kotlin作为Android开发的首选语言,Kotlin才开始大放异彩。
第一印象的话, 你可以认为Kotlin是Java的简化升级版, 实际上Kotlin在很多地方与Java是相通的, 也能比较方便地互调。 这也是Kotlin能成功的原因, 毕竟Java已经有很好的生态, 完全重复造轮子是没必要的。
1 Kotlin特点
1.1 简洁
相信对很多程序员来说, 语言是否简洁, 是否容易上手是非常重要的一个因素, 甚至比性能更加重要。 毕竟一门语言如果很难用, 很难开发程序, 也是不会受大家欢迎的。 想想看, 大多数人都不会为追求点性能去写C语言甚至汇编吧。
Kotlin的原则是,能省的尽量省, 能不让开发者动手的就不要麻烦开发者。
在我使用过的语言中, 我觉得Kotlin的简洁性勉强可以与Python相比(大多数编程语言的简洁性都远远不如Python)。
1.2 互操作性
可以利用Java的库。 另外, Android Studio还提供了Java代码和Kotlin代码互转的工具。
1.3 安全
1 有特殊的机制避免空指针异常的错误(空指针异常的错误是程序出错中高概率的一类, 另无数开发者十分头疼);
2 Kotlin中对变量的可变与不可变是强制要求的, 让开发者在开发程序时时刻有这个意识, 避免了变量使用的随意性。 想想看, 在一个多人协作的开发中, 谁也不知道某个变量在什么时候就被别人给修改了, 出了问题定位起来那是一件十分痛苦的事情。
Kotlin的安全就主要体现在以上2个方面, 并且更重要的是, 它是以一种简洁的方式实现的。
2 编译型语言 VS 解释型语言
编译型语言简单说就是编译器先把你写的代码整个编译成二进制代码, 然后就可以直接在机器上执行。 优点是执行效率高,缺点就是静态的,每修改一次就得重新编译。 另外就是没写完的半成品程序通常是没法编译的。 编译语言的代表是C/C++。
解释型语言就是程序执行时才会一行一行地扫描和执行你的程序, 非常符合你写代码时的逻辑。优点是随时修改, 随时就能跑,缺点是效率有点低。 解释型语言的代表是python。
Java和Kotlin有点特殊, 并不能简单地归类为编译型语言或解释型语言, 算是半编译半解释型语言吧。 因为它不是一次性编译到二进制码, 二是编译到一种中间状态(.class文件), 执行时加载.class进行解释。
3 开发工具
Kotlin程序文件的命名后缀是.kt
。
工欲善其事,必先利其器。 都21世纪了, 如果你想拿个记事本就开始写程序,那只能说是头铁。 推荐3种开发方式。
3.1 在线开发平台
https://play.kotlinlang.org/
适合刚学习时练习简单代码功能。
3.2 IntelliJ IDEA
这是专门的IDE, 适合深度开发使用, 简单练练手的话, 专门安装个IDE有点麻烦。
3.3 Android Studio
很多人学习Kotlin是为了Android开发的, 因此基本都会有Android Studio. 这个工具也可以单独执行Kotlin代码。