In this post, we have prepared a curated top list of reading recommendations for beginners and experienced. This hand-picked list of the best Scala books and tutorials can help fill your brain this January and ensure you’re getting smarter. We have also mentioned the brief introduction of each book based on the relevant Amazon or Reddit descriptions.
- 1. Programming in Scala: Updated for Scala 2.12 (2016)
- 2. Programming Scala: Scalability = Functional Programming + Objects (2014)
- 3. Functional Programming in Scala (2014)
- 4. Scala Cookbook (2013)
- 5. Scala for the Impatient (2nd Edition) (2016)
- 6. Functional Programming, Simplified (2017)
- 7. A companion booklet to “Functional Programming in Scala”: Chapter notes, errata, hints, and answers to exercises (2015)
- 8. Programming with Scala: Language Exploration (Undergraduate Topics in Computer Science) (2017)
- 9. Introduction to Programming and Problem-Solving Using Scala, Second Edition (2016)
- 10. Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) (2009)
- 11. Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine (Pragmatic Programmers) (2009)
- 12. Learning Scala Programming: Object-oriented programming meets functional reactive to create Scalable and Concurrent programs (2018)
- Related YouTube Video
Scala is an object-oriented programming language for the Java VirtualMachine. In addition to being object-oriented, Scala is also afunctional language, and combines the best approaches to OO andfunctional programming. In Italian, Scala means a stairway, or steps. Indeed, Scala lets you step up to a programming environment that incorporates some of the best recent thinking in programming language design while also letting youuse all your existing Java code. Artima is very pleased to publish a new edition of the best-sellingbook on Scala…
Author(s): Martin Odersky, Lex Spoon
Get up to speed on Scala, the JVM language that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away, and explains why Scala is ideal for today’s highly scalable, data-centric applications that support concurrency and distribution. This second edition covers recent language features, with new chapters on pattern matching, comprehensions…
Author(s): Dean Wampler, Alex Payne
3. Functional Programming in Scala (2014)
Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you’ll find concrete examples and exercises that open up the world of functional programming. Functional programming (FP) is a style of software development emphasizing functions that don’t depend on program state.
Author(s): Paul Chiusano, Rúnar Bjarnason
4. Scala Cookbook (2013)
Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language. Author Alvin Alexander (creator of DevDaily.com) provides solutions based on his experience using Scala…
Author(s): Alvin Alexander
5. Scala for the Impatient (2nd Edition) (2016)
Interest in the Scala programming language continues to grow for many reasons. Scala embraces the functional programming style without abandoning the object-oriented paradigm, and it allows you to write programs more concisely than in Java. Because Scala runs on the JVM, it can access any Java library and is interoperable with familiar Java frameworks. Scala also makes it easier to leverage the full power of concurrency. Written for experienced Java, C++, or C# programmers who are new to Scala or functional…
Author(s): Cay S. Horstmann
6. Functional Programming, Simplified (2017)
If you’ve had trouble trying to learn Functional Programming (FP), you’re not alone. In this book, Alvin Alexander — author of the Scala Cookbook and former teacher of Java and Object-Oriented Programming (OOP) classes — writes about his own problems in trying to understand FP, and how he finally conquered it. What he originally learned is that experienced FP developers are driven by two goals: to use only immutable values, and write only pure functions. What he later learned is that they have these goals as the result of another larger goal…
Author(s): Alvin Alexander
7. A companion booklet to “Functional Programming in Scala”: Chapter notes, errata, hints, and answers to exercises (2015)
This full-color booklet contains chapter notes, hints, solutions to exercises, addenda, and errata for the book “Functional Programming in Scala” by Paul Chiusano and Runar Bjarnason. This material is freely available online, but is compiled here as a convenient companion to the book itself. All code is colorfully syntax-highlighted.
Author(s): Rúnar Óli Bjarnason, Paul Chiusano
This reader-friendly textbook presents a concise and easy to follow introduction to Scala. Scala is an ideal first programming language, which permits programming in multiple paradigms, and enables developers to be more productive with modern computing infrastructures such as distributed environments. Topics and features: provides review questions and problem-solving exercises (with solutions) in each chapter, inspired by real-world applications; addresses each topic in a self-contained manner, highlighting how Scala can be evolved and grown according to the developer’s…
Author(s): Bhim P. Upadhyaya
Mark Lewis’ Introduction to the Art of Programming Using Scala was the first textbook to use Scala for introductory CS courses. Fully revised and expanded, the new edition of this popular text has been divided into two books. Introduction to Programming and Problem-Solving Using Scala is designed to be used in first semester college classrooms to teach students beginning programming with Scala. The book focuses on the key topics students need to know in an introductory course, while also highlighting the features that make Scala a great programming language to learn.
Author(s): Mark C. Lewis, Lisa Lacher
Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you’ll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution. Programming Scala clearly explains the advantages of Scala as a JVM language. You’ll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet…
Author(s): Dean Wampler, Alex Payne
11. Programming Scala: Tackle Multi-Core Complexity on the Java Virtual Machine (Pragmatic Programmers) (2009)
Scala is an exciting, modern, multi-paradigm language for the JVM. You can use it to write traditional, imperative, object-oriented code. But you can also leverage its higher level of abstraction to take full advantage of modern, multicore systems. Programming Scala will show you how to use this powerful functional programming language to create highly scalable, highly concurrent applications on the Java Platform. The increasing popularity and availability of multicore processors is creating a whole new…
Author(s): Venkat Subramaniam
12. Learning Scala Programming: Object-oriented programming meets functional reactive to create Scalable and Concurrent programs (2018)
Learn how to write scalable and concurrent programs in Scala, a language that grows with you. Scala is a general-purpose programming language that supports both functional and object-oriented programming paradigms. Due to its concise design and versatility, Scala’s applications have been extended to a wide variety of fields such as data science and cluster computing. You will learn to write highly scalable, concurrent, and testable programs to meet everyday software requirements.
Author(s): Vikash Sharma
Best Scala Books to Master the Technology
We highly recommend you to buy all paper or e-books in a legal way, for example, on Amazon. But sometimes it might be a need to dig deeper beyond the shiny book cover. Before making a purchase, you can visit resources like Genesis and download some Scala books mentioned below at your own risk. Once again, we do not host any illegal or copyrighted files, but simply give our visitors a choice and hope they will make a wise decision.
Reactive Programming with Scala and Akka
Author(s): Atreya, Suraj; Sathyanarayanan, Prasanna Kumar
ID: 2416702, Publisher: Packt Publishing, Limited, Year: Feb. 2016, Size: 3 Mb, Format: epub
Hands-On Cloud-Native Microservices with Jakarta EE - Build scalable and reactive microservices with Docker, Kubernetes, and OpenShift.
Author(s): Luigi Fugaro, Mauro Vocale
ID: 2479432, Publisher: Packt, Year: 2020, Size: 9 Mb, Format: pdf
Data Science in Production: Building Scalable Model Pipelines with Python
Author(s): Ben G Weber
ID: 2510390, Publisher: Independently published, Year: 2020, Size: 3 Mb, Format: pdf
Please note that this booklist is not absolute. Some books are truly chart-busters according to Chicago Tribune, others are written by unknown writers. On top of that, you can always find additional tutorials and courses on Coursera, Udemy or edX, for example. Are there any other relevant links you could recommend? Leave a comment if you have any feedback on the list.