1.1 kotlin简史
1.1.1 Kotlin概述
科特林岛(Котлин)是一座俄罗斯的岛屿,位于圣彼得堡以西约30公里处,形状狭长,东西长度约14公里,南北宽度约2公里,面积有16平方公里,扼守俄国进入芬兰湾的水道。科特林岛上建有喀琅施塔得市,为圣彼得堡下辖的城市。
我们这里讲的Kotlin,就是一门以这个Котлин岛命名的现代程序设计语言。它是一门静态类型编程语言,支持JVM平台,Android平台,浏览器JS运行环境,本地机器码等。支持与Java,Android 100% 完全互操作。
其主要设计者是来自 Saint Petersburg, Russia JetBrains团队的布雷斯拉夫( Andrey Breslav , https://www.linkedin.com/in/abreslav/ )等人,源码在github上,其实现主要是JetBrains团队成员以及开源贡献者。
认识一个事物的最好的方式,首先是取了解它的历史。
我们先来简单看一下来自wikipedia[0]的Kotlin简历:
标题 | 内容 |
---|---|
设计者 | JetBrains |
实现者 | JetBrains与开源贡献者 |
最新发行时间 | Kotlin 1.1.2(2017年4月25日,34天前) |
最新测试版发行日期 | Kotlin 1.1.3 EAP(2017年5月27日,2天前 [1]) |
类型系统 | 静态类型 |
系统平台 | 输出Java虚拟机比特码以及JavaScript源代码 |
操作系统 | 任何支持JVM或是JavaScript的解释器 |
许可证 | Apache 2 |
文件扩展名 | .kt |
网站 | kotlinlang.org |
启发语言 | Java、Scala、Groovy、C#、Gosu |
(注:这里的日期时间,取的是本书当时写作时间)
Kotlin的亲爹是大名鼎鼎的Jetbrains公司。它有一系列耳熟能详的产品,诸如Android程序员们天天用的Android Studio, Java程序员们天天用的IntelliJ IDEA, 还有前端的WebStorm, PhpStorm等等。所以说,使用IntelliJ IDEA了开发Kotlin程序将会非常便捷。
Kotlin这个语言从一开始推出到如今,已经有六年了。官方正式发布首个稳定版本的时间相对比较晚(2016.2),这是一门比较新的语言。其大致发展简史如下:
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 中开发的代码能够利用已有的机制来构建,可以在新环境中自由使用。
Kotlin以K字打头的用语,甚至连 contributors 这类词也改成了kontributors。
1.1.2 Kotlin 元年:2016
2016 年是 Kotlin “元年(First year of Kotlin)”,官网给出了这样一幅图来展示它一年来的成绩:
Github 上面的代码量破千万,8000多基于kotlin项目。使用 Kotlin 的人逐渐增多。
Kotlin 是由工程师设计,各种细节设计非常切合工程师的需要。语法近似 Java 和 Scala,且已活跃在 Android 开发领域,被誉为 Android 平台的 Swift。
其主要设计目标:
- 创建一种兼容 Java 的语言
- 让它比 Java 更安全,能够静态检测常见的陷阱。如:引用空指针
- 让它比 Java 更简洁,通过支持 variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation 等实现。
- 让它比最成熟的竞争对手 Scala语言更加简单。
Kotlin 的学习曲线极其平缓,学习量相当于一个框架。有经验的程序员阅读了文档即刻上手。