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 will be published as both an eBook and as a print book in early 2013.
Update from 1/3/13: An early access edition of the print book has been sent to the printer! A limited number will be available at CodeMash 2013 the week of 1/8. We will be refining the content based on feedback during our 1-day seminar there and generating a final edition after that. Note that the download below has NOT been updated with the latest content.
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.
Want to know more? We will be presenting a series of weeklong seminars. You can learn more about the hands-on format on our public seminars page.