Scala for the Impatient Third Edition
“Currently the best compact introduction to Scala” —Martin Odersky
“The book is a joy to read. Probably the most concise reference for Scala available on the market, this deserves to be on every programmers bookshelf”—James Sugrue
What you get:
- Up to date coverage of Scala 3
- A rapid introduction to Scala for programmers who are competent in another language such as Java, C#, Python, JavaScript, or C++
- Blog-length chunks of information that you can digest quickly
- An organization that you'll find useful as a quick reference
What you don't get:
- An introduction into programming or object-oriented design
- Religion about the superiority of one paradigm or another
- Cute or academic examples
- Mind-numbing details about syntax minutiae
Available as DRM-free e-book and/or printed book
Support Materials
Gibberish in the book? Check the errata, or contribute a new bug report.
Here is the source code for the examples. Unzip and load each chapter directory as a project into IntelliJ or Visual Studio Code.
Because they keep changing, Scala installation instructions are here instead of in the printed book.
What? No solution to the exercises? I am not putting them up because many readers enjoy working them out themselves. If you google for "horstmann scala impatient solutions", you'll find blogs and github sites of fellow readers that might (give you inspiration|spoil the fun).
Table of Contents
The [AL][1-3] refer to Martin Odersky's Scala levels.
- The Basics (A1)
- Control Structures and Functions (A1)
- Arrays (A1)
- Maps and Tuples (A1)
- Classes (A1)
- Objects (A1)
- Packages and Imports (A1)
- Inheritance (A1)
- Files and Regular Expressions (A1)
- Traits (L1)
- Operators (L1)
- Higher-Order Functions (L1)
- Collections (A2)
- Pattern Matching (A2)
- Annotations (A2)
- Futures (A2)
- Type Parameters (L2)
- Advanced Types (L2)
- Contextual Abstractions (L3)
- Type-Level Programming (L3)
Earlier Editions