笔记
试用了一下kotlin语言,挺有意思的:一个基于jvm的语言,能够在jdk6上享用jdk8的lambda、deferred method、stream语法、C#的delegate、类scala语法和类型推断、ruby的code block 等特性。
以前弄过一段时间的scala,实在无法忍受scala的编译速度和一次编写到处编译的特性(字节码不兼容)、天书般的APIdoc。不谈语法,为了一些特性,scala把java的集合类都重新实现了一遍----能不用jdk原生的api就不用,这和kotlin刚好相反,基本上是基于jdk的api通过语法糖来做扩展,所以kotlin说自己是简化版的scala,学习门槛也更低了。
kotlin可以认为是一个不啰嗦的java,从编译成javascript的歪路回到重点支持android mobile开发,现在已经被誉为andorid的swift。支持编译成javascript之所以被认为邪路,想想TypeScript、coffeescript、Dartjs、Haxe,kotlin的这个方向对java程序员来说只是一个鸡肋。服务器端有scala、groovy,而且kotlin团队不愿意与eclipse xtend团队合作,本以为kotlin会逐渐泯然于众多jvm语言中,没想到别出心裁切入android移动开发,现在已经被誉为andorid的swift,相对于java,kotlin提供的语法糖至少能提高20%的效率。
javaer在用jdk8之前,特别是android开发同学应该试试kotlin。我用kotlin开发了一个阿里云oss上传工具,整个过程比较顺畅。
kotlin的语法点