Groovy,Clojure和Kotlin都是基于jvm的语言,那他们在实际项目中的运用场景有什么区别?

我只了解到Grails开发web应用挺快速的,其他两门只是知道名字。 如果一个项目要用jvm这些语言,具体是不是看语言的特性和开发人员的需求? 如果可以,能不能说说这三门语言各自的优劣势和学习曲线.
关注者
238
被浏览
17241

6 个回答

简单说,在JVM上不想用Java,喜欢某种别的平台上已有的语言但想要更Java化的版本的话:
  • 喜欢Ruby => 用Groovy
  • 喜欢LISP,喜欢STM功能 => 用Clojure
  • 喜欢C++ => 用Kotlin
Scala的话看评论↓

Groovy比较讨好来自Java的程序员的一点是:用它写代码可以渐进的从接近Java的风格进化为接近Ruby的风格。使用接近Java风格写Groovy时,代码几乎跟Java一样,容易上手;而学习过程中可以逐渐用上各种类似Ruby的方便功能。
针对标题本身,回答是在应用中没有区别,都是通用语言,都是基于 JVM,没有什么活这个语言干得了,那个语言干不了,只是“方便”程度的问题。

R 大的回答,基本说明了区别。不过有一点不是特别赞同:喜欢 Ruby 的可以继续用 JRuby,而不是 Groovy。Groovy 在我眼中是相对“平凡”的语言,没有特别的亮点,也没有特别的缺陷。

学习曲线,应该是 Clojure 先难后易,Groovy 应该比较平滑,Kotlin 不了解。