Table of Contents
Approximate number of software developers in the world
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:
✅ 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:
🚨 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:
🚨 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
✅ 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.
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.
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:
- 14 Best Functional Programming Books This Year [Learn Functional Programming ASAP]
- Best Java Textbook This Year [9 Textbooks to Learn Java ASAP]
- Best Java Resources: The Ultimate Guide for Software Developers
- 13 Best Java Books for Beginners This Year [Learn Java Programming]
- Top 10 Best Object-Oriented Programming Course [Learn OOP]
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.
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.
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.
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.
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.