Learn more Download now Shop now Browse your favorite restaurants Shop now Shop now Shop now Shop now Shop now Learn More Shop now Learn more Shop Fire Shop Kindle Learn More Shop now Shop now Learn more

on 25 August 2013
I'm very much glad that I've picked "Scala for the Impatient" as my second book about Scala (after Atomic Scala by Bruce Eckel and Dianne Marsh). The book was a very pleasant and knowledgeable journey throughout the Scala land. No doubt why Martin Odersky, the author of Scala, accepted to write the Foreword. I myself wholeheartedly recommend this book.

This is a great book for anybody who wants to get his feet wet in Scala and yet the time is just for 384 pages. Plenty of examples after every chapter makes absorbing the wisdom of Scala from the book an almost never-ending endeavour. Don't skip them so you can fully appreciate the author's efforts to teach you Scala.

I consider myself a novice to the Scala language with a quite extensive, decade-long experience in Java and a bit of functional programming in Clojure and F#. Without much practice in Scala I needed a book that would guide me as if I'd attended a Scala course. I think Scala for the Impatient did the job very well. It was written in a lively style and the level of details greatly went beyond my expectations. I'm now using the book as a reference to turn me into a Scala professional and the often I read the chapters the more details I find (I guess it may well apply to any IT book, but only now could I experience the feeling).

The book provides many (if not all) of the most interesting parts of Scala for all of the levels of Scala experience. The book uses the experience levels that were identified by Odersky to distinguish the features of Scala that would be of interest to application programmers and library designers. I didn't pay attention to the levels, though and read the book from cover to cover.

Right from Chapter 1 the author encourages to write smaller programs as a way to learn Scala. If the steps to install Scala were to serve as an indicator of how the book is written, it took the author 4 single-line bullet points and the Scala interpreter was available. That was surprisingly concise. Should you need more, you're asked to visit the book's website. The author simply decided to waste no page for a less interesting material.

Every chapter begins with an introduction to highlight the main points. This may very well be used for less experienced people who only need a gentle introduction to more advanced features of Scala. Think of the introductions as an overview of Scala and the chapters as an more in-depth material. With the experience levels it may save you a great deal of (reading) time yet keep you abreast of the features of Scala you don't need to know now, but may need later.

The author quite often compares Scala to Java and C++ (sometimes C#) and although he said in Preface "I assume you know Java, C#, or C++" some experience with the languages might help, but is certainly not required. It just let the author skip "explaining variables, loops, or classes" (page xix). Full coverage of Scala is not the goal of the book and so is convincing you to use functional paradigm over object-oriented one (or vice versa). The author simply demonstrate Scala with notes about his experience and let you pick what suits you the most.

Regarding the title - "Scala for the Impatient" - don't get fooled by the "Impatient" part. It's not that the book skims over Scala hoping that you learn it without knowing few more details or similar. Quite the contrary, but the pace is well-thought-out and steady so you may not notice you're reading stuff you would consider out of your scope. Cay Horstmann gave them so many that I think I may have understood the reason behind the "Impatient" part - I often became impatient to apply the knowledge to projects, but couldn't simply stop reading as I was worried I'd miss parts that would help me sorting out problems even better (!)

And the last but not least, the book was issued on March 06, 2012, but given the recent changes in Scala I don't think it has lost its value (despite not being up to the recent version of Scala and missed a few latest changes). The version of Scala used in this book is 2.9 as the pre-2.10 String concatenation and a note about enabling continuations in 2.9 might imply. It didn't make the book any less valuable.
0Comment| 6 people found this helpful. Was this review helpful to you? Report abuse
on 28 September 2014
Python is my current language of choice, but when you are writing something more substantial, having a strongly-typed language helps. One of my colleagues has been enthusing about Scala in general, and this book in particular, so I thought I’d give it a look.

Being not just the impatient of the title, but very impatient, I have frankly skim-read much of the book. Nevertheless, I’m impressed by what I’ve seem, both of the language, and its presentation here. Scala seems to be a well designed and interesting modern language, with many sophisticated and powerful features, but with no burdensome syntactic overheads.

The back-cover blurb (above) offers a good summary of the key features described in the book. Scala compiles down to run on the JVM; it is object-oriented with functional capabilities; it allows mixin-style traits that can contain implementation code; it has support for parsing in general and XML in particular; it has extra support for concurrency through actors (thread-safe concurrent objects); and it has support for continuation programming (proceed with caution!)

The concise and focussed style of the book allows a brisk trot through many language features, whilst still containing a lot of technical meat, all introduced through code snippets. It does assume some knowledge of Java, as several of the examples contrast it with that earlier language.

A good technical read, making me want to try out the language, particularly the actors for complex systems simulations.
0Comment| 2 people found this helpful. Was this review helpful to you? Report abuse
on 6 July 2015
I bought this as I'm an experienced Java programmer and I was looking to learn Scala. I had bought the 'official' Odersky book but it's very dense and I now only use that for reference. By reading Hortstmann's book and the 'Scala for Java Refugees' blog I quickly got a grip on the Scala syntax. The chapters cover pretty much everything you need to know and the material is thoughtfully divided up and good examples are provided. I suppose what's missing is building an application in Scala - but that's not what this book is aiming at - and for that I'd recommend "Scala In Action" once you've read this. If you're looking for more depth you could also look at O'Reilly's "Learning Scala" which is aimed at the less-experienced developer or "Programming Scala" which is a bit more in depth than Horstmass. It would be nice if maybe int he beginning it had a bit more on functional programming in general - for this I'd recommend "Functional Thinking" but, over all, if you're looking to quickly get a grip on the basics then this is the book for you.
0Comment| 3 people found this helpful. Was this review helpful to you? Report abuse
on 16 August 2014
I bought this book in January this Year as en ebook (kindle edition) and just started reading it. Unfortunately on all the examples the mathematical operators are missing and it is impossible to understand what is going on or trying to do the examples.

I will contact Amazon and ask for refund. I am hoping that the issue is only on kindle version of the book.
11 Comment| 8 people found this helpful. Was this review helpful to you? Report abuse
on 7 March 2013
As an experienced Java programmer, I found that this book hit just the right level in explaining what I needed to know without attempting to "teach grannie to sick eggs". It clearly highlights the differences from Java while setting me on the path to understanding functional programming. I'm just starting to read though it for the second time and I'm still impressed.
11 Comment|Was this review helpful to you? Report abuse
on 5 October 2016
I loved Cay's "Java8 for the impatient" and really wanted to love this one but the way it's written just didn't work for me. The idea is that presents topics in the order you might need them to get experienced developers going quickly. That's probably ideal for many people but drove me crazy. I found myself puzzling over the detail of every example trying to work out things that don't get explained until the end of the book.
If you're someone who's happy to dive in and get the details later buy it - it's great. If you like the details first ground up approach get another book.
0Comment| 2 people found this helpful. Was this review helpful to you? Report abuse
on 11 July 2016
I started learning Scala few months ago, and I found this book to have the right amount of details for a beginner. It is very well written and covers pretty much all you need to know to start programming; as you advance, the book is still a valuable resource as it is divided into sections based on your knowledge of Scala.
0Comment|Was this review helpful to you? Report abuse
on 13 December 2014
Whatever the merits of the Kindle ebook may be, they are rendered moot by the horrible typesetting of all of the code snippets. It's simply criminal that something so terribly put together should be offered for sale: it doesn't matter whether you're using the Kindle app on an iPad, a PC or a Mac, the ebook is unreadable on all of them. Steer well clear!
0Comment| 6 people found this helpful. Was this review helpful to you? Report abuse
on 7 October 2017
A well intentioned book, but with the benefit of hindsight this isn't the best approach to learning Scala.
0Comment|Was this review helpful to you? Report abuse
on 18 April 2014
This may or may not be a good book, but the Kindle version is unreadable. In all the code examples, the operators (+, * etc) are invisible. I managed to guess the operators in the first couple of examples, but I couldn't imagine getting through the whole book that way.
0Comment| 15 people found this helpful. Was this review helpful to you? Report abuse

Need customer service? Click here

Sponsored Links

  (What is this?)