不了解Kotlin,但是Scala和Xtend是两种截然不同的野兽。
与俗语相反,Scala不是更好的Java。Scala是比Java更具有特色的语言,具有自己的语法和语义以及自己的基础库包。
Xtend是更好的Java。它保留了Java语义并增强了其语法。Xtend代码的每一行都可以直接转换为一堆Java代码行。没有额外的运行时,也没有。
我认为这两种方法都是正确的,尽管有所不同。我不喜欢Scala(作为一种语言),但是不喜欢将Scala jar添加到我的项目中。我也无法在Android中正确使用Scala,这也不会增加重量和性能问题。Xtend的功能并不多,但对我来说还可以(比Java语言更值得使用),它可以在每个平台上工作,就像我直接用Java编写一样。
我相信两种语言涵盖了不同的领域,并且可以共存而不会互相干扰。恕我直言,Scala太复杂了,没有添加任何新内容。如果您想提高功能性而减少面向对象,只需选择许多更简单的功能语言之一,例如Clojure或JHaskell。如果您只想要Java具有更好的语法和一些功能编程,那么Fantom和Scala一样强大(它与C#十分相似)。
但是我发现Xtend在所有这些语言之间都处于最佳状态。它添加了我想要的所有Java语法模式,并保留了Java的大部分内容(其语义)。将其视为Java的Coffescript。
Eclipse支持非常出色。