Paperback: 256 pages
Publisher: O'Reilly Media; 1 edition (December 28, 2014)
Product Dimensions: 7 x 0.6 x 9.2 inches
Shipping Weight: 15.2 ounces (View shipping rates and policies)
Average Customer Review: 4.5 out of 5 stars See all reviews (22 customer reviews)
Best Sellers Rank: #182,024 in Books (See Top 100 in Books) #14 in Books > Computers & Technology > Programming > Functional #69 in Books > Textbooks > Computer Science > Object-Oriented Software Design #212 in Books > Computers & Technology > Programming > Languages & Tools > Java
Read a little, type in several lines of code, read some more.At least three quarters of the book amounts to a language feature survey using the command-line ‘REPL’ (‘interpreter’ for us downtown folk). There’s nothing wrong with that, per se, so long as it fits your learning style. There’s no end-to-end demo app built throughout the book and none of the code remotely approaches anything standalone or utilitarian.It’s only in the concluding chapters that the author introduces the SBT, the equivalent of a make tool, as well as one of the Scala IDEs but the coverage is far from in-depth.In a way, the book reminds me of K&R: It presents isolated examples of good quality code designed to illustrate features while it assumes readers have the architectural insight to build-upon and integrate these into useful applications.Scala is built on top of the JVM and uses many of the same data types as Java. Obviously a Java background is helpful but so is experience with Python or any LISP-derived dynamic language.A solid C/C++ background is fine and you’ll notice parallels and conceptual borrowings: Scala’s preference for immutable values over variables is essentially a restatement of the C++ maxim ‘use const wherever possible’ for data safety and easier debugging.I think the book is inappropriate as a first programming text for beginners. Don’t be fooled by the early elementary examples in the data types chapter (i.e. declaring values, variables and performing basic arithmetic on them). The later chapters on collections, classes and objects assume fairly deep familiarity with OO concepts.
I thought this was a great book on introductory scala which I am learning. I read the book all the way through and exercised many of the examples after downloading and installing Scala. As other reviewers have mentioned this is not a beginners programming book. I found the writing to be very good although sometimes a little hard to understand. Most of the time the more difficult sentences are immediately clarified by a good example - a very effective technique. Occasionally some of the writing remained mysterious to me and I just moved on. I found maybe one typo which is always a good sign.I thought the examples were excellent and did so much to explain the accompanying text. All of the examples I tested worked fine. I agree with many of the reviewers about some of the drawbacks - sometimes the code was a little cryptic (although the Scala language is very succinct and so much so that one can lose track of just what features are being demonstrated).The criticism that an end to end real world example is not given seems to be a little unreasonable since such a thing is by definition an advanced treatment (and this is a beginner Scala book); further there are an infinite number of possible large real world applications to describe and when one is fixated on the requirements of one, the others will be neglected. Observing one full, larger application doesn't necessarily help someone to develop their own application. Yes, the REPL shell was used throughout with little discussion of version control or IDEs but those concepts are for one or more separate books and beyond the scope of this one.I do agree the Exercises were difficult and I did not do any of them.