Beginning Scala, Second Edition takes a down-to-earth approach to teaching Scala that leads you through simple examples that can be combined to build complex, scalable systems and applications.
This book introduces you to the Scala programming language, its object-oriented and functional programming characteristics, and then guides you through Scala constructs and libraries that allow you to assemble small components into high-performance, scalable systems. You will learn why Scala is judiciously used for critical business applications by leading companies such as Twitter, LinkedIn, Foursquare, the Guardian, Morgan Stanley, Credit Suisse, UBS, and HSBC.
Scala is a multi-paradigm programming language that combines both functional and object-oriented features. Moreover, this highly scalable language lends itself well to building cloud-based/deliverable Software as a Service (SaaS) online applications.
What youÂll learn
• Understand the basic syntax and mechanisms for writing Scala programs
• Learn the object-oriented features of Scala
• Use Scala's functional programming features to define and manage concurrency
• Build parsers using Scala’s library of parser combinators
• Create and manipulate XML content using Scala
• Take advantage of Scala's standard annotations and even create your own
• Integrate and reuse an existing Java codebase
• Build projects that contain both Scala and Java code and dependencies
• Use Scala libraries and Scala web frameworks such as Play 2 to build web applications with Scala
Who this book is for
This book is for all programming enthusiasts and for Java developers looking to reduce boilerplate code, improve team performance, improve inter-team dynamics, and build more scalable and robust systems. Also, this book will appeal to Java developers looking to do cloud-based development. Lastly, Ruby, Python, Groovy and other programmers looking for a higher performance and a more robust language will benefit.
Table of Contents
1 : Getting started with Scala
2 : Basics of Scala
3 : OOP in Scala
4: Functional programming in Scala
5: Pattern matching
6: Scala Collections
8: Types and Implicits
9: Scala and Java Interoperability
11: Building web applications with Scala
13: Scala Best practices