Editor's top Scala books
3Programming in Scala, 5th Edition
Artima
Written by Martin Odersky — the creator of Scala — along with Lex Spoon and Bill Venners. This is the definitive text, covering the language comprehensively and explaining design decisions from first principles. The fifth edition covers Scala 3.
Scala for the Impatient
Cay Horstmann · 1480 pages · ~37 hrs to read
The pragmatic alternative to the Odersky book. Horstmann assumes you already know Java and gets straight to idiomatic Scala. Dense with worked examples and exercises. Professionals switching from Java consistently rate this as the fastest path to productivity.
High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark
Holden Karau & Rachel Warren · O'Reilly · 356 pages · ~9 hrs to read
Directly relevant to the data-engineering track this skill leads to — written by a longtime Spark committer. Covers the Scala-native Spark API in depth, where most performance work actually happens.
Scala Books for Beginners
1Get Programming with Scala
Daniela Sfregola · Manning · 1004 pages · ~25 hrs to read
A lesson-and-quiz format aimed squarely at developers coming from Java, Python, or C# with zero Scala or FP background — Sfregola is a working Scala engineer and active conference speaker, and the pacing reflects real teaching experience.
Intermediate & Advanced Scala Books
9Programming in Scala, 5th Edition
Artima
Written by Martin Odersky — the creator of Scala — along with Lex Spoon and Bill Venners. This is the definitive text, covering the language comprehensively and explaining design decisions from first principles. The fifth edition covers Scala 3.
Scala for the Impatient
Cay Horstmann · 1480 pages · ~37 hrs to read
The pragmatic alternative to the Odersky book. Horstmann assumes you already know Java and gets straight to idiomatic Scala. Dense with worked examples and exercises. Professionals switching from Java consistently rate this as the fastest path to productivity.
Functional Programming in Scala (The Red Book)
Manning
Known universally as "the Red Book." Teaches pure functional programming from scratch, implementing core abstractions from first principles rather than importing a library. Challenging but transformative — completing it substantially improves your software design instincts.
Programming Scala: Scalability = Functional Programming + Objects, 3rd Edition
Dean Wampler · O'Reilly · 556 pages · ~14 hrs to read
Wampler has deep experience in Spark and streaming-data engineering, and it shows — a practical, up-to-date O'Reilly treatment for developers who want productivity, not just theory.
Scala Cookbook: Recipes for Object-Oriented and Functional Programming, 2nd Edition
Alvin Alexander · O'Reilly · 855 pages · ~21 hrs to read
Over 250 task-based recipes covering the real day-to-day problems Scala developers hit — collections, pattern matching, concurrency — organized for lookup rather than cover-to-cover reading.
Learning Concurrent Programming in Scala, 2nd Edition
Aleksandar Prokopec · Packt · 533 pages · ~13 hrs to read
Written by a former Oracle Labs researcher with a PhD from EPFL (Scala's birthplace). Goes from JVM memory model fundamentals through futures, actors, and reactive extensions — the concurrency theory the language leans on.
High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark
Holden Karau & Rachel Warren · O'Reilly · 356 pages · ~9 hrs to read
Directly relevant to the data-engineering track this skill leads to — written by a longtime Spark committer. Covers the Scala-native Spark API in depth, where most performance work actually happens.
Functional and Reactive Domain Modeling
Debasish Ghosh · Manning · 519 pages · ~13 hrs to read
Bridges the functional-programming half of Scala with real architectural practice — modeling domains as pure functions, then composing them with Akka and event sourcing for reactive systems.
Scala Design Patterns, 2nd Edition
Ivan Nikolov · Packt · 388 pages · ~10 hrs to read
Reframes the classic Gang-of-Four patterns through a Scala lens and adds the functional-specific ones — Monoids, Functors, Monads, and the Cake Pattern for dependency injection — that OOP pattern books skip entirely.
Scala resources
Learn next