Atomic Scala introduces the foundations of the Scala programming language in very small steps (which we call atoms). The book is designed to simplify learning the language for both beginners and experienced programmers. Atomic Scala by Bruce Eckel and Dianne Marsh is now available as a print book (the eBook will appear later, once we sort out all the formatting issues, which are more involved because of fonts and code listings).
You can download the first hundred pages of the book on our Download page.
Here’s an excerpt from the introduction:
Atomic Scala is meant to be your first Scala book, not your last. We show you enough to become familiar and comfortable with the language — competent, but not expert. You’ll be able to write useful Scala code, but you won’t necessarily be able to read all the Scala code you encounter.
When you’re done, you’ll be ready for more complex Scala books, several of which we recommend at the end of this book.
What are “atomic concepts”? We cast off the tyranny of the chapter, where we might have been tempted to deep dive into topics. Rather, we have broken the learning down into “atoms”, which will look like a small chapter. A typical atom contains one or more small, runnable pieces of code and the output it produces. We describe what’s new and different. We try to present only one new concept per atom.
We may have several atoms named similarly (I think Pattern Matching has 3 or 4) so that we can present these single new concepts in an order that makes sense, allows you to learn incrementally, and doesn’t include “forward references” to things you don’t know yet.
Who’s this book for? This is a book for a dedicated novice. “Novice” because you don’t need prior programming knowledge, but “dedicated” because we’re giving you just enough to figure it out on your own. We give you a foundation in programming and in Scala but we don’t bury you in verbiage or swamp you with detail. Beginning programmers should think of it as a game: You can get through, but you’ll need to solve a few puzzles along the way.
Experienced programmers can move rapidly through the book and find the place where they need to slow down and start paying attention.