Groovy是动态语言,工程性比Scala还差。但是因为有Gradle这种被广泛采用的项目,所以会存活下去。但是请记住爱因斯坦曾经说过:“任何超过两百行的新项目,都不应该采用动态语言开发,无论是Ruby,Python,Perl,Groovy还是Clojure”。哦,对了,也不要用Clojure。因为它是动态语言,而且是Lisp系的动态语言。“Lisp系”意味着,读书的时候可以靠它开眼界。毕业工作以后,对于这一类语言,能躲多远就躲多远。
Kotlin看上去靠谱。它不讲究FP有多纯,目标就一个:“abetterjava”。Kotlin在“到底引入多少FP特性”上面做得恰到好处。看到Kotlin,偶马上就想起了这个演讲:“Pleasestoppollutingourimperativelanguageswithpureconcepts”。
Kotlin有以下好处:
1.强大的IDE。而且是JetBrains第一方支持,不是3年更新一次的第三方插件;
2.库多生态强。Kotlin的设计者非常重视和Java的互操作,所以Kotlin号称可以无缝衔接所有Java库。
3.宇宙第一运行时:JVM。4.Android上不能用Java8的新语法,Kotlin恰逢其时的出现,抓了一波完美的timing。
如果Kotlin依靠Android开发爆发,那服务器端,大数据界,也会收益,最后多面开花,势不可挡。但是Kotlin刚出来,到底有没有它自称的那么好用还待观察。另外,Kotlin社区现在集中力量攻坚Android,在服务器和大数据方向没什么靠谱项目。所以还是得用Java8。总之,“魔镜啊魔镜,谁是JVM上最好的语言”之最后决战,将是Java10vsKotlin(Java9在语法特性上已经输了)。