引子
如果说有什么编程语言让我觉得收获颇大的话,我想除了 Java 那么另一个就是 Scala,Java 教会了我工程和严谨,而 Scala 则进一步的给了我耳目一新的思维模式,并提高了我对OOP的认识,反过来,Scala的习得,也让我成为了一个更好的Java程序员。
背景
我写这个系列教程,除了分享我自己学习Scala的一些心得体会之外,并不是要特别的安利大家Scala。而我其实比较愚钝,所以我学习Scala 的时候走了不少弯路,记得当时还是 Scala 2.10,然后各种学习资料不是特别完善,然后就坑爹了。我为了学习Scala ,学习了 Clojure、Erlang、Elixir 和 Haskell等语言,其实吧,还是很难的,几乎所有的Scala书都看过了,结果呢,还是花了好长好长时间才真的产生从生产力。
有了这个经验,我就特别希望能够分享自己的这部分经验,让大家如果对Scala 感兴趣,可少走弯路,如同本文的标题——Scala 快车道,让各位老司机可以快速上车。
我们的列车发到什么地方?
首先,这个系列不会包含太多 FP 的内容,但是会全面的覆盖 Scala 的 OO 部分,其次,不会对很多 Scala 编译器 或者 Dottty 在某些语言特性在编译层的在不同的 Scala 版本具体是如何生成字节码的,并且进行解析,即,我们不会讨论到字节码层面。再者,本系列不会讨论到的还有 Typelevel Programming 以及 Scala macro 等 meta programming 之类的内容。最后,本系列不会对SBT(Scala的简单构件工具)进行深究,因为,我们的目的是快速上车。
所以,本系列的核心部分:
- 第一部分:Scala 简介,搭建环境以及Hello ATA
- 第二部分:Scala 和 Java 的常见结构,语法方面的一比一对比
- 第三部分:Scala 和 Java 在 OO 方面特性一比一对比,包含具体的代码示例
- 第四部分:Scala 和 Java 在 FP 方面的 一比一对比,包含具体的代码示例
- 第五部分:Scala 在 高并发方面等方面的支持,给出一些最佳实践
本书将会把,FP 的高级讨论, Typelevel 相关的等高级主题放在以后的系列中,所以,Yes,快速上车吧.
发车车次
下面是具体的链接部分: