我熟悉用 Java 开发服务器端应用程序,但现在我想开始使用 Scala。你能描述一下必要的范式转变吗?以下是一些可能有助于您找到答案的问题:
- 如何以不同的方式构建和设计 Web 应用程序?什么是 最大的不同?
- 我应该停止做什么/使用什么;我应该开始做什么/使用 而是?
- 是否有任何客户端注意事项/限制?
我不是在寻找 Java 和 Scala 之间的详细比较。
最佳答案
Scala 和 Java 的主要区别在于 Scala 对函数式编程的使用。
- 对于 Web 应用程序,您将使用不同的框架。 Play是目前最流行的口味。它感觉类似于其他框架中的 MVC 工作,但更倾向于功能纯度(尽管大多数 Play 应用远非纯粹)
- 您应该停止考虑内存中的可变字段,而应该考虑不可变值的数据流。当您可以使用
val
时,不要使用var
。循环将主要被map
和fold
等高阶结构所取代。避免使用空值,而是使用Option
s。 - 假设是网络客户端,不。除非你想把 Scala 编译成 JS。然后同样的事情也适用。
明智地学习,我会从 Twitter Scala school 开始,那么一旦你明白了,我推荐这本书Functional Programming in Scala .我认为这两个资源将引导您朝着 FP 方向发展,而不是使用新语法编写 Java 风格的程序。然后,在 OOP/FP 量表中找到适合手头问题的合适位置。
关于java - “Thinking in Scala"如果我有 Java/C++ 背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31041577/