11 best scala books this year [learn sccala asap for beginners & beyond]

11 Best Scala Books in 2022 [Learn Scala ASAP for Beginners & Beyond]

Approximate number of software developers in the world

27,000,000

according to daxx.com

🧠 And according to a StackOverflow survey, about 4.4% of developers surveyed use Scala. That’s over a million developers!

And the number continues to rise.

What is Scala?

Scala is a statically typed general-purpose programming language that combines object-oriented and functional programming. You can build high-performance systems with its Java Virtual Machine (JVM) and JavaScript runtimes.

Scala was designed to be concise as a response to the flaws of the Java programming language. It’s also interoperable with Java which means you can use libraries from either language.

What are some companies that use Scala?

Some companies that use Scala include:

✅ LinkedIn

✅ Twitter

✅ Foursquare

✅ The Guardian

✅ Sony

And many, many more.

🧠 Did you know? Scala 3 was released May 14, 2021.

This post contains affiliate links. I may receive compensation if you buy something. Read my disclosure for more details.

TLDR: Best Scala Books This Year

🔥 Best Overall 🔥
Programming Scala: Scalability = Functional Programming + Objects

💥 Best for Newbies 💥

Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way

💸 Best Value 💸

Pragmatic Scala: Create Expressive, Concise, and Scalable Applications

🎖️ Hot Off the Press 🎖️
Programming in Scala, 5th Edition

🐱

Best Scala Books

1. Programming Scala: Scalability = Functional Programming + Objects

↘️ Ideal for: new and experienced Scala developers
↘️
Topics covered:
JVM, Scala syntax, functional programming

Programming Scala is one of the best Scala books overall.

That’s because it’s geared towards both new and experienced Scala developers. Regardless of your skill level, there’s something for every developer.

You’ll tackle:

✅ Scala’s flexible syntax

✅ basic and advanced functional programming techniques

✅ using functional combinators to build big data and distributed apps

✅ creating solutions to design problems

And beyond.

➡️ Programming Scala shows you how to maximize your productivity while building data-centric applications using Scala 3.

See what Scala developers are saying about Programming Scala:

Great for beginners or those transitioning from Scala 2 to 3, very comprehensive.

– Amazon Customer (and presumably Scala developer)

🚨 Interactivity more your speed? Check out the course Learn Scala from Scratch on Educative.io.

2. Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way

↘️ Ideal for: Scala newbies
↘️
Topics covered:
Scala fundamentals and advanced concepts

Hands-On Scala Programming is one of the best Scala books for beginners.

It’s also useful for experienced Scala developers who want to learn how to create more elegant solutions.

In the first 6 chapters you’ll learn the basics of Scala such as:

✅ filesystem operations

✅ how to work with JSON

✅ building projects

And much more.

Then you’ll dive into more complex Scala concepts such as files, subprocesses, and libraries.

➡️ The libraries covered in Hands-On Scala Programming were created by the book’s author Li Haoyi.

See what Scala developers are saying about Hands-On Scala Programming:

Whether you’re new to Scala or looking for a refresher or some fresh takes, this is definitely the book for you!

– Brandon J. Brown, Scala Developer

🚨 For a very general overview of Scala, check out the video course Scala Language: The Big Picture on Pluralsight.

3. Pragmatic Scala: Create Expressive, Concise, and Scalable Applications

↘️ Ideal for: experienced Java developers
↘️
Topics covered:
Scala fundamentals, concurrency, domain-specific languages

Pragmatic Scala published by The Pragmatic Programmers is one of the best Scala books for developers on a budget.

Now this book is a little older and covers Scala 2.11. But you’ll still find plenty of Scala’s fundamentals that are still relevant.

Geared towards beginners, you’ll start learning Scala from the familiar home base of Java. Packed with examples, you’ll learn how to create expressive applications while discovering:

✅ concurrency with parallel collectors

✅ how to create readable code with value classes

interpolation

✅ functional and concurrent programming

✅ recursion

And more.

➡️ Pragmatic Scala is strictly meant for beginners and doesn’t go beyond the fundamentals of Scala.


🚨 If you’re planning on pursuing data science, check out the interactive course Introduction to Scala on DataCamp.

4. Programming in Scala, 5th Edition

↘️ Ideal for: new and experienced Scala developers
↘️
Topics covered:
Scala fundamentals and functional programming

Programming in Scala is one of the best Scala books ever. That’s because it was co-authored by Scala’s designer, Martin Odersky.

Note: We wanted to put this book as Best Overall, but it’s a brand new release. So it’s too soon to tell. BUT, previous versions of Programming in Scala have knocked it out of the park.

This version covers Scala 3.0.

You’ll learn how to use Scala for simple tasks while learning about:

✅ extension methods

✅ trait parameters

✅ export clauses

enums and algebraic data types

And beyond.

➡️ Programming in Scala is considered by many to be the bible of Scala.

🔥 Geena’s Hot Take

In my opinion, you aren’t gonna find a better Scala book than this one. I mean heck, it was written by the guy that created Scala.

The best part? He keeps updating it. It’s on its 5th edition and is updated for Scala 3.0.

So if you want to learn Scala from the source, pick up Programming in Scala.


🚨 Immerse yourself in functional programming videos with the Functional Programming in Scala Specialization on Coursera.

5. Get Programming with Scala

↘️ Ideal for: Scala newbies with some object-oriented programming experience
↘️
Topics covered:
Scala 2 and 3

Get Programming with Scala published by Manning covers Scala 2 and 3.

You’ll start by reviewing object-oriented programming concepts. Then, you’ll move onto functional programming. From there, you’ll explore:

✅ functions and types

✅ values and variables

✅ conditional constructs and loops

✅ concurrency

And much, much more.

You’ll also discover HTTP as it relates to Scala.

➡️ Get Programming with Scala is filled to the brim with examples and exercises you can use to craft your Scala skills.

Functional programming vs. object-oriented programming in Get Programming with Scala

6. Scala Cookbook: Recipes for Object-Oriented and Functional Programming

↘️ Ideal for: new and experienced Scala developers
↘️
Topics covered:
Scala fundamentals, functional programming, concurrency

Scala Cookbook by Alvin Alexander is published by O’Reilly.

With over 250 challenges and 1,000 code examples, you’ll learn how to solve some of the most common problems found using Scala 3.

Packed with real-world scenarios, you’ll find solutions related to:

✅ Scala fundamentals

✅ functional programming

✅ concurrency

✅ libraries like Spark, Play Framework, and GraalVM

You’ll also learn how to follow best practices for pattern matching and functional error handling.

➡️ Scala Cookbook shows you how to use Scala to build object-oriented, functional and concurrent applications.

➡️ If you want to learn the basics of functional programming in Scala, check out Alvin Alexander’s book Functional Programming, Simplified.


7. Introduction to Programming and Problem-Solving Using Scala

↘️ Ideal for: Scala newbies
↘️
Topics covered:
Scala fundamentals

Introduction to Programming and Problem-Solving Using Scala is meant to be an introductory book for first-semester college students.

In addition to Scala basics, you’ll learn about:

✅ conditionals

✅ functions

✅ recursion for iteration

✅ arrays and lists

✅ object orientation

And much more.

Within the walls of this book you’ll find tons of end-of-chapter projects and exercises. There are also accompanying YouTube video lessons where you’ll be able to watch “live coding” in action.

➡️ Introduction to Programming and Problem-Solving Using Scala is meant to give you a solid understanding of Scala fundamentals.


8. Scala Design Patterns: Design Modular, Clean, and Scalable Applications by Applying Proven Design Patterns in Scala

↘️ Ideal for: experienced Scala developers
↘️
Topics covered:
design patterns

Scala Design Patterns is one of the best Scala books for experienced Scala developers.

You’ll work with industry-standard design patterns such as:

✅ structural

✅ creational

✅ behavioral

With ample examples, you’ll discover ways to build clean design patterns. You’ll also learn how to build complex entity relationships using structural design patterns.

And finally, you’ll learn how to apply functional design patterns to make applications run faster.

➡️ Scala Design Patterns is a full immersion into design patterns meant to improve your Scala applications.


9. Scala for the Impatient

↘️ Ideal for: advanced beginners
↘️
Topics covered:
Scala fundamentals, object-oriented programming, concurrency

Scala for the Impatient is unlike other books on our list because it’s geared towards a specific set of developers: advanced beginners.

You’ll still learn the standards like:

✅ Scala fundamentals

✅ object-oriented programming

✅ concurrency

✅ working with higher order functions

But you’ll do so in an accelerated learning environment.

You’ll also learn some advanced concepts like annotations, implicits, and type classes.

➡️ Scala for the Impatient is one of the best Scala books for advanced beginners.

Scala Worksheet in Scala for the Impatient

10. Learning Scala: Practical Functional Programming for the JVM

↘️ Ideal for: experienced Ruby or Python developers
↘️
Topics covered:
types and syntax, immutable data structures, higher order functions

Learning Scala published by O’Reilly is an older Scala book (2014) but the core fundamentals are still relevant today.

You’ll find plenty of syntax diagrams, exercises and examples while learning about:

✅ types and syntax

✅ immutable data structures

✅ higher-order functions

And beyond.

Learning Scala is ideal for experienced Ruby or Python developers.

➡️ Learning Scala is good for developers who want a strong foundation in core Scala concepts.


11. Functional Programming in Scala

↘️ Ideal for: experienced Scala or Java developers
↘️
Topics covered:
functional programming, multicore programs

Functional Programming in Scala published by Manning is one of the best Scala books to learn functional programming.

You’ll start by learning basic functional programming techniques:

✅ concepts

✅ the hows and whys of functional programming

✅ how to write multicore projects

You’ll also explore advanced topics. And you’ll do it all while working on countless exercises.

➡️ Functional Programming in Scala is for developers experienced with Scala or Java programming.


Best Scala Books: Conclusion

Today we looked at the best Scala books this year including:

🔥 Best Overall 🔥
Programming Scala: Scalability = Functional Programming + Objects

💥 Best for Newbies 💥

Hands-on Scala Programming: Learn Scala in a Practical, Project-Based Way

💸 Best Value 💸

Pragmatic Scala: Create Expressive, Concise, and Scalable Applications

🎖️ Hot Off the Press 🎖️
Programming in Scala, 5th Edition

So whether you want to learn Scala 3 or need something a little more budget-friendly, we think these are the best Scala books around.


Scala developers are also reading:


  1. What is Scala?

    Scala is a statically typed general-purpose programming language that combines object-oriented and functional programming. You can build high-performance systems with its Java Virtual Machine (JVM) and JavaScript runtimes. Scala was designed to be concise as a response to the flaws of the Java programming language. It’s also interoperable with Java which means you can use libraries from either language. If you want to learn more about Scala, be sure to check out today's list of best Scala books out there.

  2. What are some companies that use Scala?

    Some companies that use Scala include LinkedIn, Twitter, Foursquare, The Guardian, Sony and many, many more. To learn more about Scala, check out today's article. You'll find plenty of Scala books for beginner, advanced beginner, and experienced developers. You'll also find a few hand-picked courses we think may help you learn Scala.

  3. What are the best Scala books?

    The best Scala books include Programming Scala: Scalability = Functional Programming + Objects published by O'Reilly. For newbies, we liked Hands-On Scala Programming: Learn Scala in a Practical, Project-Based Way. For value, we chose Pragmatic Scala: Create Expressive, Concise, and Scalable Applications. And for one of the best most recent releases, we of course had to go with Programming in Scala, 5th Edition. To learn about these and other Scala books, be sure to check out today's post.

  4. Is learning Scala worth it?

    Yes, we think learning Scala is worth it. For starters, it supports functional programming and object-oriented programming. It's also interoperable with Java. To learn more about Scala, be sure to check out today's list of Scala books. We also threw in a few Scala courses we think are worth looking into.

  5. What are the best Scala courses?

    We picked a few Scala courses that we think are worth checking out. Our top pick is the interactive course Learn Scala from Scratch on Educative.io. For a general overview of Scala, we liked the video course Scala Language: The Big Picture on Pluralsight. If you're planning on pursuing a career in data science, we recommend the interactive course Introduction to Scala on DataCamp. Be sure to check these out or one of the many Scala books we have listed in today's article.