“如何在Scala中思考”如果我有Java / C ++背景?

我熟悉用Java开发服务器端应用程序,但现在我想开始使用Scala。 你能描述一下必要的范式转变吗? 这里有几个问题可以帮助你构建一个答案:

  • 我如何构建和设计不同的Web应用程序? 最大的区别是什么?
  • 我应该停止做什么/使用什么; 我应该开始做什么/使用什么?
  • 有没有客户方面的考虑/限制?
  • 我不想在Java和Scala之间进行详细的比较。


    Scala和Java的主要区别在于Scala使用函数式编程。

  • 对于Web应用程序,您将使用不同的框架。 玩是目前最流行的味道。 它与MVC在其他框架中的工作感觉类似,但更多地倾向于功能纯度(尽管大多数Play应用程序远非纯粹的)
  • 你应该停止思考内存中的变异字段,并考虑不可变值的数据流。 不要使用var ,当你可以用val来做。 循环将主要被更高阶的构造如mapfold所取代。 避免空值,并改用Option s。
  • 假设一个Web客户端,没有。 除非你想将Scala编译成JS。 然后同样的东西适用。
  • 明智的学习,我会从Twitter Scala学校开始,然后一旦你开始学习,我推荐Scala中的Functional Programming。 我认为这两个资源将指导你在FP方向,而不是用新的语法编写Java风格的程序。 然后,找到适合当前问题的OOP / FP规模的正确位置。

    链接地址: http://www.djcxy.com/p/537.html

    上一篇: “Thinking in Scala" if I have a Java/C++ background?

    下一篇: How does data binding work in AngularJS?