Most Helpful Customer Reviews
24 of 25 people found the following review helpful:
3.0 out of 5 stars
Interesting language but book organization could be better, January 26, 2010
This review is from: Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) (Paperback)
Scala is a very interesting language and tremendously powerful. It takes aspects of functional languages joins them to DSLs (domain specific languages) and adds it all on top of standard object oriented programming concepts and then runs the whole thing on the Java virtual machine. As such there's a lot of interesting things to learn and understand about the language and the fairly radical concepts its raising.
However, while the topic is clearly fascinating I feel the book is not especially well organized. Scala introduces many interesting and novel language design concepts (e.g. the functional features and their take on the actor model for concurrency). It also introduces a great number of language short cuts and syntactic sugar, allowing for DSLs or at the very least less typing and more of the feel of a scripting language. The book chooses to introduce the language short cuts first and then proceeds to use them liberally when introducing the language features. This no doubt promotes good "scala" practice but does make understanding the new concepts more difficult since we're still learning the new syntactic forms.
I think a better approach would have been to introduce the language concepts first - in long hand form (and we're usually talking just a few extra characters here, not pages of text) - and then follow up in the later chapters with the syntactic sugar and the ways to reduce typing and allow for alternative naming and syntactic forms (which helps support domain specific languages). That would have made it easier to grasp the concepts and then we could have learned how to enhance those basic skills and produce even more compact and flexible Scala programs.
One indication of this problem is the great number of forward references in the book. A concept is often introduced but it can only be partially explained (since the early focus is often more on syntax than deep semantics) and so many times the full explanation has to be deferred until later - and later is often 10 chapters later. You can do that once or twice in a book, but you shouldn't need to do it half a dozen times in each chapter - or it's a sign the overall organization is poor.
On the plus side the book is short (always a benefit when being introduced to a new language) and the chapters contain many interesting examples which are actually very helpful in explaining the authors points. The book also does a very good job of covering the breadth of the language and all that it introduces in a relatively short amount of space.
In summary I think it's a good effort but I suspect in a few month's time there will be better choices for learning Scala.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
8 of 9 people found the following review helpful:
5.0 out of 5 stars
The Tapir in The Room, January 8, 2010
This review is from: Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) (Paperback)
Programming Scala can range from scripts, to object-oriented, to functional, to Actor-based multi-threading, to sophisticated library writing. Scripts are pre-compiled with an implicit main, for those short knock-off tasks, with the entire Scala libraries and Java libraries at the ready.
Programming Scala, the book, welcomes readers from a variety of language backgrounds, such as Java, Python, Ruby, JavaScript. I've read other Scala books, but I nevertheless found Programming Scala to be interesting, informative and stimulating. The writing style is very clear, which is just as well, because some advanced programming techniques are tackled as the book progresses. The Scala language is so uniform and concise, with powerful features and libraries, that it is feasible to tackle advanced programming which would be unthinkable or impossible in many other languages.
The book encourages test-driven development in early chapters, which makes the example code pretty much self-explanatory.
Author Dean Wampler responded quickly to my minor change request for the downloadable sample code to self-test in Ubuntu. Authors aren't obligated to provide post-publication service to readers, but these guys do.
The Tapir (Elephant) in The Room is a fast moving hunter whose speed defies his size. Like Scala.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
10 of 13 people found the following review helpful:
5.0 out of 5 stars
Learn Scala Fast!, October 4, 2009
This review is from: Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) (Paperback)
This book will get you up to speed QUICKLY with Scala.
I was under a time crunch to write code with complicated concurrency. With this book, I went from zero Scala experience to writing concurrent algorithms within a matter of hours. Concurrency has never been so painless. It's actually kind of ridiculous.
The book is extremely fluid and succinct. It gets to the point quickly. The organization is excellent and intuitive. While they assume you know enough about object oriented programming (and let's be honest, you probably do), they don't assume that you have a functional programming background.
The authors present a very strong case about Scala's strength as a modern multi-paradigm language, capable of addressing pertinent issues of scalability, concurrency, performance, development speed, reliability, etc. I'm definitely convinced.
If you are using or plan to use Scala, then this is a must have.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|