我只是听到并看到人们说 scala 是为 MultiThread 设计的,尽管它实际上是用于通用目的。
它声称“问题在于,虽然您可以在 Java 中使类成为线程安全的(如果您知道自己在做什么),但 Scala 使之变得简单而自然。”
确实 AKKA 和 Lift 是用 scala 编写的。(实际上是 java 和 scala)
但是 java 也通过 java.util.concurrent 的新包在这方面进行了改进。那么为什么 AKKA 和 Lift 没有在 JAVA 中诞生呢?
也许你会说 scala 让 java 看起来像 C。:-)
任何人都可以对此进行更多的见解或更深入的思考吗?
我知道可以混合 JAVA 和 scala 的事实。Scala 能够无缝调用 Java 代码。那么java有什么,scala也有。
但是,不管不同的语法,scala 真正改进了 java 尚未完成的功能是什么?
只有一些设计,如演员/代理人或其他?(注意 Actors/Agents 不能解决多线程中的所有问题。)
或者 scala 编译器和采用一些函数式语言语法真的比 java 更重要或有帮助吗?
我听说 scala 将能够采用 XText 的一些消息。为了能够利用 XText 编写线程逻辑,不确定这是否正确。
Scala 看起来像是多种语言的混合体,使用这种方法可以更容易地解决这方面的问题?
更新
感谢您从不同角度的出色回答。我觉得他们都很好。不管你站在哪一边。
编辑
下面的主题(在一年前的 SO 中)正在询问类似的事情。“建设性”的结论非常相似。但是这一次,一些新的观点出来了,可能我问的方式有点不同。仅供参考。
有关的:
其实我很感兴趣有人能以某种全新的角度回答这个问题,这可以启发我的思想,提供一些以前未知的想法。
但由于没有建设性,它已关闭。:-)