Programming Scala: Scalability = Functional Programming + Objects 3rd Edition, Kindle Edition

4.8 out of 5 stars 7 ratings
Flip to back Flip to front
Audible Sample Playing... Paused   You are listening to a sample of the Audible narration for this Kindle book.
Learn more
ISBN-13: 978-1492077893
ISBN-10: 1492077895
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more

Read instantly on your browser with Kindle Cloud Reader.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Enter your mobile phone or email address

Processing your request...

By pressing "Send link," you agree to Amazon's Conditions of Use.

You consent to receive an automated text message from or on behalf of Amazon about the Kindle App at your mobile number above. Consent is not a condition of any purchase. Message & data rates may apply.

Share <Embed>
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Amazon book clubs early access

Join or create book clubs

Choose books together

Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Digital List Price: $59.99

Deliver to your Kindle or other device

Buy for others

Give as a gift or purchase for a team or group.
Learn more

Buying and sending eBooks to others

Select quantity
Buy and send eBooks
Recipients can read on any device

Additional gift options are available when buying one eBook at a time.  Learn more

These ebooks can only be redeemed by recipients in the US. Redemption links and eBooks cannot be resold.

This item has a maximum order quantity limit.

Inspire a love of reading with Amazon Book Box for Kids
Discover delightful children's books with Amazon Book Box, a subscription that delivers new books every 1, 2, or 3 months — new Amazon Book Box Prime customers receive 15% off your first box. Sign up now
Create your FREE Amazon Business account to save up to 10% with Business-only prices and free shipping. Register today

From the Publisher

How to Read This Book

The first three chapters provide a fast tour of features without going into much depth. If you are experienced with Scala, skim these chapters to find new Scala 3 features that are introduced. The “3” icon in the lefthand margin makes it easy to find the content specific to Scala 3 throughout the book. If you are new to Scala, make sure you understand all the content in these chapters thoroughly.

Chapters 4–15 go back over the main features in depth. After learning this material, you’ll be quite productive working with most Scala code bases. For you experienced readers, Chapters 5 and 6 will be the most interesting because they cover the new ways of abstracting over context (i.e., implicits). Chapters 7–12 are mostly the same for Scala 2 and 3, especially the material that explores Scala as an OOP language. However, you’ll find Scala 3 changes throughout all these chapters. Also, all examples shown use the new, optional Scala 3 notation that omits most curly braces.

Chapters 16 and 17 explore the rest of Scala’s sophisticated type system. I tried to cover the most important concepts you’ll encounter in Chapter 16, with more advanced topics in Chapter 17. You’ll find plenty of new Scala 3 content in these chapters.

Finally, pick and choose sections in Chapters 18–24 as you need to understand the concepts they cover. For example, when you encounter the popular, but advanced, subject of category theory, read Chapter 18. When you need to use concurrency and distribution for scalability, read Chapter 19. If you want to balance dynamic and static typing or you need to write domain-specific languages, read Chapter 20 or 21, respectively. If you want more information about tools in the Scala ecosystem and combining Java with Scala code, Chapter 22 offers tips. In a sense, Chapter 23 is a summary chapter that brings together my thoughts on using Scala effectively for long-term, scalable application development. Lastly, Chapter 24 introduces the powerful metaprogramming features of Scala, with significant changes in Scala 3.

For reference, an appendix summarizes optional new syntax conventions compared with traditional syntax. A list of references and an index finish the book.

Editorial Reviews


  • "Whether you're new to entirely Scala or making the two to three transition, Dean Wampler is the ideal traveling companion. Some Scala books make you feel like you're back in a classroom. This one makes you feel like you are pair-programming with a helpful expert by your side." -- Seth Tisue, Senior Software Engineer, Scala Compiler Team, Lightbend Inc.
  • "Dean leaves no question unanswered. Rather than telling you only what you need to know to produce working code, he takes an extra step and explains exactly: How is this feature implemented? Is there a more general idea behind it that can provide extra context? Reading this book will enable you to make new connections between concepts you couldn't connect before. Which is to say, you'll learn something." -- Lutz Huehnken, Chief Architect, Hamburg Süd, A Maersk Company
  • "Dean has succeeded in giving a complete and comprehensive overview of the third major release of the Scala language by not only describing all the new features of the language, but also covering what's changed from Scala 2. Highly recommended for both newbies and experienced Scala 2 programmers!" -- Eric Loots, CTO, Lunatech
  • "At his many Strata Data + AI talks and tutorials, Dean made the case for using Scala for data engineering, especially with tools such as Spark and Kafka. He captures his Scala expertise and practical advice here." -- Ben Lorica, Gradient Flow
  • "I've had the great pleasure of working with Dean in a few different roles over the past several years. He is ever the strong advocate for pragmatic, effective approaches for data engineering-especially using Scala as the ideal programming language in that work. This book guides you through why Scala is so compelling and how to use it effectively." -- Paco Nathan, Managing Partner at Derwen, Inc.
  • "An excellent update to the earlier edition that will help developers understand how to harness the power of Scala 3 in a pragmatic and practical way." -- Ramnivas Laddad, cofounder, Paya Labs, Inc.

From the Author

I wrote this book for software professionals who want a comprehensive, yet pragmatic introduction to Scala version 3. Whether you are experienced with Scala, but want to learn what's new in Scala 3, or you are new to the language, Programming Scala, Third Edition teaches you all the core concepts in the language with guidance on how to use them effectively.

Product details

  • ASIN ‏ : ‎ B095XLMMGC
  • Publisher ‏ : ‎ O'Reilly Media; 3rd edition (May 26, 2021)
  • Publication date ‏ : ‎ May 26, 2021
  • Language ‏ : ‎ English
  • File size ‏ : ‎ 2309 KB
  • Simultaneous device usage ‏ : ‎ Unlimited
  • Text-to-Speech ‏ : ‎ Enabled
  • Enhanced typesetting ‏ : ‎ Enabled
  • X-Ray ‏ : ‎ Not Enabled
  • Word Wise ‏ : ‎ Not Enabled
  • Print length ‏ : ‎ 713 pages
  • Lending ‏ : ‎ Not Enabled
  • Customer Reviews:
    4.8 out of 5 stars 7 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

I am a principal software engineer at Domino Data Lab, an expert in MLOps, and a long-time member of the Scala community. I am also the author of several books:

-- "Programming Scala, Third Edition", a practical book for experienced software developers that introduces this important, modern programming language.

-- "Programming Hive", a comprehensive guide to Hive, the SQL tool for Hadoop (coauthors: Ed Capriolo and Jason Rutherglen).

-- "Functional Programming for Java Developers", a succinct introduction for Java developers to the concepts of functional programming, where I motivate its importance and demonstrate how to use FP concepts in Java programs.

You can find out more about me at these web sites:

-- My personal home page.

-- Presentations, white papers, etc.

-- My blog.



My "off-line" interests include photography, hiking, skiing, and other mountain sports, cooking, and reading, including books that aren't about software!

Customer reviews

4.8 out of 5 stars
4.8 out of 5
7 global ratings
5 star
4 star
3 star 0% (0%) 0%
2 star 0% (0%) 0%
1 star 0% (0%) 0%

Top reviews from the United States

Reviewed in the United States on August 30, 2021
Verified Purchase
Reviewed in the United States on July 12, 2021
Verified Purchase

Top reviews from other countries

Michael Lewis
4.0 out of 5 stars Good introduction to Scala
Reviewed in the United Kingdom on October 18, 2021
Verified Purchase
One person found this helpful
Report abuse