on 29 January 2010
I deducted one point for what would otherwise have been a perfect score for the most tedious over-long hand holding start to any programming book I can remember. Real information is so spaced out that you go crazy looking for it while the authors are saying "Don't be frightened.." over and over again. However the book gets nicely into its stride in the middle, and by the end it's kicking major posterior. I love books where the authors face up to the test of seeing if they have explained the language well enough to allow a serious example - and Odersky and his droogs implement a complete spreadsheet. Gui and parser and evaluation mechanism and all. In 200 lines of code! This is about 400 times as impressive as anything Lippmann or Stroustrupp attempted in their classic C++ books, and it by that stage in the book you're well up to understanding it. Which is an amazing triumph for both Scala - already looking like a very probable successor to Java and C++ - and this book. So I added another star for ending on an unequaled high note. Making the final score for this book 5-1+1 = 5 stars. Which is just as well as that's all there is room for.
on 19 June 2009
The book is aimed at experienced programmers of any procedural language like C#, Java or even C++ (but with possibly some exposure to Java and the JVM). This book is written by Martin Odersky, the creator of Scala, and it is very well written and packed with interesting examples that always match perfectly the topic that the author is trying to cover.
Because Scala is a fairly big language and because the author is sometimes a bit "chatty" (but always interesting), the book is fairly long. This is actually not a problem, because the first few chapters are actually enough to be able to start coding in Scala.
This is a great tutorial, but maybe, because of the way it's organized and written, not the best reference. However, the best reference (The Scala language specification) is freely available from the Scala website.
As for the language itself, I am very positively impressed with Scala and I think it is a big step forward from Java 6.
on 3 May 2009
The Scala language has been gaining strong word-of-mouth as the hot new thing for the Java platform -- but even with the various quick tour and introductory documents on the language web site, it is clear there are a lot more subtleties to the language to be explained.
With the "stairway book", that explanation is at hand.
The book is aimed at the experienced programmer in 'C' derived imperative languages, with at least some familiarity with the Java language, and ideally some notion about functional programming techniques -- it is not by any stretch of the imagination a "my first programming book". For the intended audience, it is an extremely effective step-by-step guide to the features, and the syntax, of the language.
Concepts are introduced in the context of concrete examples -- such as a representation for rational numbers, a layout engine, or a DSL for modelling logic circuits -- that are revisited and refined throughout the book; and always with the functional approach to the fore, and imperative constructs following (so pattern matching and higher order methods are covered before the "for" expression is completely detailed).
Of particular interest in a world of increasingly multi-core processors is the chapter on concurrency, and the Erlang-style actor based approach (as opposed to the more conventional thread-and-locks style) that the standard Scala library supports.
on 14 April 2011
I found learning Scala from web pages a little difficult, but this book makes it all so easy. I think it's too long, but the quality is high. After only a few hours I love the conciseness of Scala and I'm already migrating from Java, but who knows if it will compete successfully against scripting languages such as Python.
on 9 August 2009
You would expect "Programming in Scala" to authorative: after all it's co-authored by none other than the person who designed the programming language.
What I wasn't expecting was such a fluent read. It of all the books that treat a functional programming language that I've read, dare I say this one isn't dry!
The language is beautifully designed and you're in for quite few treats if you're looking to upgrade your programming style from C++ or Java.. ..or simply if you want to drag that Haskell or OCaml experience into a programming language that with a little luck you might even convince your boss to.
Enjoy the read!