henix / blog

some notes
0 stars 0 forks source link

后 Java 语言 #3

Closed henix closed 11 years ago

henix commented 11 years ago

后 Java 语言中我看中了 Scala 、Groovy 和 Kotlin

试用了一小段时间的 Scala 后,Scala 的问题

  1. 不能很好地与 Java 现有的东西配合,自己搞出一套新的集合框架
  2. 语法糖太多,特别是隐式转换(implicit conversion)
  3. 过于执着于函数式,而 Java 现有的大部分库都不是函数式的,导致很多库都有一个 Java 版、一个 Scala 版,不得不为 Scala 重新写一套

总之,我认为我更需要仅仅在 Java 之上添加一层薄封装,以便我们能更大限度地利用好现有的 Java 库以及在这些库上积累的经验。基本上,Scala 已经变成一种新语言了。

而我认为,如果真正要发挥函数式的强大表达力,请使用 Haskell 。如果不能重用现有的库,跟现有的东西紧密配合,又干嘛要基于 JVM 这个生态环境呢?

henix commented 11 years ago

两个讨论后 Java 语言的 ppt:

henix commented 11 years ago

Scala 的学习成本的确比较高,但在现有的 JVM 语言中算设计得很好的了。语法糖太多需要一段时间来学习和适应。