Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


Scala is a modern programming language for the Java Virtual Machine (JVM) that combines the best features of object-oriented and functional programming languages. Using Scala, you can write programs more concisely than in Java, as well as leverage the full power of concurrency. Since Scala runs on the JVM, it can access any Java library and is interoperable with Java frameworks.

Scala for the Impatient concisely shows developers what Scala can do and how to do it. In this book, Cay Horstmann, the principal author of the international best-selling Core Java™, offers a rapid, code-based introduction that’s completely practical. Horstmann introduces Scala concepts and techniques in “blog-sized” chunks that you can quickly master and apply. Hands-on activities guide you through well-defined stages of competency, from basic to expert. Coverage includes  

  • Getting started quickly with Scala’s interpreter, syntax, tools, and unique idioms

  • Mastering core language features: functions, arrays, maps, tuples, packages, imports, exception handling, and more

  • Becoming familiar with object-oriented programming in Scala: classes, inheritance, and traits

  • Using Scala for real-world programming tasks: working with files, regular expressions, and XML

  • Working with higher-order functions and the powerful Scala collections library

  • Leveraging Scala’s powerful pattern matching and case classes

  • Creating concurrent programs with Scala actors

  • Implementing domain-specific languages

  • Understanding the Scala type system

  • Applying advanced “power tools” such as annotations, implicits, and delimited continuations 

Scala is rapidly reaching a tipping point that will reshape the experience of programming. This book will help object-oriented programmers build on their existing skills, allowing them to immediately construct useful applications as they gradually master advanced programming techniques.

Subscriber Reviews

Average Rating: 4.5 out of 5 rating Based on 22 Ratings

"Best Scala book so far" - by TheTravis on 05-JAN-2014
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Gets to the heart of what's different between Java and Scala . The walkthrough is clean and well thought out.
Report as Inappropriate

"Crisp and Clear" - by pratimsc on 15-MAY-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Steps to Learn and Use Scala
a. Go and read the first 2 chapters of - Programming in Scala

b. Come to this book and know all about Scala.

c. Implement in work/project.

d. Stuck in work/project??? Come back to this book and get going again?

e. All good. Project running fine. But still more greedy, can not help digging further to understand scala. Go to "Programming in Scala" and learn concept in details.

This book is must have for all new/middle experienced Scala developers. For Scala Gurus, give this book to non-Gurus.

Report as Inappropriate

"Gives what is says on the tin" - by Arnost on 05-MAR-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I really like this book as it provides what it promises and  what I was looking for - introduction to Scala for a programer who already knows Java.

It goes to quite deep details, but does not waste time explaining basics, still pointing to important differences to Java.

Nice addition is to use of A1-A3, L1-L3 levels to describe level of experience. This gives some feel of what should be understood and what may be skipped for now.

Report as Inappropriate

"Nuff Said" - by shaine on 11-SEP-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
“Currently the best compact introduction to Scala” —Martin Odersky
Report as Inappropriate

"Quick and short" - by icambridge on 24-MAY-2012
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Each chapter is quick and short and gives you exactly what you need to understand what is going on and how to use the feature of the language in question.
Report as Inappropriate

Table of Contents



The publisher has provided additional content related to this title.


These links have been provided by the publisher.

  • Author Web site