本书的主要目标读者是那些想要学习使用Scala编程的程序员。如果你想要用Scala做你的下一个软件项目,那么本书是为你准备的。而且,本书希望能使那些希望拓展视界的程序员们通过学习一些新概念而获得趣味。打个比方,如果你是一位Java程序员,阅读本书将使你领略从函数型编程到高级面向对象思想的许多概念。我们相信学习Scala,还有它隐含的理念,通常都能帮你成为一个更好的程序员。 本书假设你已经有了通常的编程知识。当然Scala也可以很好的做为首次学习的编程语言,但这不是学习如何编程的书。 从另一方面来说,本书并不需要特定的编程语言知识。尽管大多数人在Java平台上使用Scala语言,但本书并不预设你知道任何关于Java的事情。然而,我们希望读者能够熟悉Java,这样我们可以在某些时候通过比较Scala和Java来帮助这些读者明白其中的差别。
如何使用本书
因为本书的主要目的是作为教材,所以推荐的阅读方式就是按照章节的次序,从头到尾。我们尽力一次介绍一个话题,并且仅以介绍过话题来说明新的话题。因此,如果你跳到后面去先睹为快,你可能会发现有些东西是用你不太明白的概念解释的。如果按照章节的顺序阅读,我们认为你将发现一步一个脚印的方式将引导你顺利地获得Scala开发的能力。 如果你发现一个你不懂的术语,请一定查找一下术语表和索引。许多读者会简单略过书中的某些部分,这也可以。术语表和索引有助于你返回到你略过的某些东西。 在你读完一遍之后,本书还可以做为一份语言参考书。Scala语言有一个正式的定义,但是语言的定义是以可读性为代价要求精确性的文档。尽管本书并未涵盖Scala的所有细节,但它在你更好地掌控Scala编程之前,作为一本平易近人的语言参考书已足够全面。
如何学习Scala
简单地通读本书,你将学到Scala的许多东西。但如果再只多做很少的事情,你将更快更全面地了解Scala。 首先,你可以好好地利用本书中包括的许多编程例子。尝试自己输入是一个强迫你的大脑思考每一行代码的方式。尝试各种各样的变化是让它们变得更有趣也是让你确信你已真正明白它们如何工作的方法。
第二点,与多个在线论坛保持联系。采用这种方式,你和其他Scala痴迷者能够互相帮助。还有许多的电邮列表,讨论论坛,和聊天室,维基百科和多个特别为Scala准备的文档资料更新点。花些时间来查找包含你需要的信息的地方。这样,花更少的时间在小问题上,就能花更多的时间在更深入和更重要的地方。 最后,一旦你已经读得够多了,请把它用在你自己的编程项目上。从草案开始开发一个小程序,或大一点儿程序的附加部分。仅仅看书只能走到这么远。
1