与 Scala 对比
Kotlin 设计时的俩个主要目标是:
至少和 java 运行速度一样快
在保证语言尽量简单的情况下在易用性上提高
考虑到这俩点,如果你喜欢 Scala ,你可能不需要 Kotlin
Scala 有而 Kotlin 没有的
隐式转换,隐式参数
--在 Scala 中,在不适用 debugger 的时候很难知道代码发生了什么,因为太多的东西是隐式的
--通过函数增加类型在 kotlin 中需要使用扩展函数
可重载和类型成员
路径依赖的类型
宏
Existential types
--类型推断是很特殊的情形
特征的初始化逻辑很复杂
--参看类和继承
自定义象征操作
--参看操作符重载
内建 xml
--参看Type-safe Groovy-style builders
以后 kotlin可能会添加的特性:
结构类型
值类型
Yield 操作符
Actors
并行集合(Parallel collections)
Scala 有而 Kotlin 没有的
零开销的空安全 Sacla 的是可选的,是在句法和运行时的包裹
Smart casts
Kotlin 的内联函数非局部的跳转
First-class delegation。也通过第三方插件:Autoproxy实现