JVM 上主流编程语言历史时间轴概览
Kotlin也是基于JVM设计的编程语言,算是对Java的温和改良,她是一个开源项目的成果,拥有很高的声望,很多公司、组织、业界大犇都很喜欢她,Square公司的Jake大神(Dagger、ButterKnife、Retrofit、OkHttp…之父)就专门写了篇Using Project Kotlin for Android为Kotlin站台
相对Java来说,Kotlin在编写代码时有如下优势:代码简洁高效、函数式编程、空指针安全、支持lambda表达式、流式API等
在执行效率上,Kotlin和Java具有同样的理论速度(都是编译成JVM字节码)
另外,新语言必须考虑兼容性,为了与存量项目代码和谐共处,Kotlin和Java是互相完美兼容的,两种代码文件可以并存,代码可以互相调用、文件可以互相转换,库文件也可以无障碍地互相调用,据说使用Kotlin基本不会带来额外的成本负担
编程语言本质上还是工具,要运用工具提高效率和质量,还要看具体开发者
Kotlin 特性详解
● time
● streams
● try-with-resources
● 函数扩展,给types、classes或者interfaces新增方法
● null safe
● 不需要new,后缀声明类型
● 自动转换有getters和setters综合属性的类型,例如自动替换getDay()为day,看起来像个field,但实际上是property-getter和setter的概念的融合
● 函数表达式lambdas,it:单个参数的隐式名称
● Higher-order函数,一个参数式函数或者返回时函数的函数