When Venkat first started writing this book I asked him what was so special about Scala. Really I asked it more bluntly—I asked why should I take the time to learn Scala. He explained that there are a lot of nice things about the language but one of the main reasons for coming to Scala is concurrency for applications on the JVM. In this beta, he’ll show you how to use Scala to create multithreaded applications without the headache of synchronization.
Another feature of Scala is that you can mix your Scala code with your Java code. This makes it easier for you to take a legacy Java application and use Scala to add features or enable concurrency. This beta features a chapter that details how you call Java from Scala and Scala from Java.
Venkat has added two chapters to this beta release. In Using Collections he introduces you to Scala’s main collections: List, Set, and Map. You can, of course, still use your favorite Java collections but he shows you how to take advantage of the mutable and immutable collections that Scala provides. He also reminds you to use the immutable version when you can as they are thread safe.
The other new chapter is on Pattern Matching and Regular Expressions. There is incredibly rich support in Scala for matching at many different levels that allows you a great deal of flexibility. As you would expect, Venkat leads you very carefully through all of the intricate options available to you when Pattern matching with Scala. As he says in the introduction, after function values and closures, pattern matching is the next most widely used feature of Scala.