Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Buy Used
FREE Shipping on orders over $25.
Condition: Used: Good
Comment: Ships direct from Amazon! Qualifies for Prime Shipping and FREE standard shipping for orders over $25. Overnight and 2 day shipping available!
Trade in your item
Get a $5.29
Gift Card.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition Paperback – January 4, 2011

4.3 out of 5 stars 83 customer reviews

See all 3 formats and editions Hide other formats and editions
New from Used from
"Please retry"
"Please retry"
$29.50 $18.32

The Numberlys Best Books of the Year So Far
click to open popover

The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Paperback: 852 pages
  • Publisher: Artima Inc; 2 edition (January 4, 2011)
  • Language: English
  • ISBN-10: 0981531644
  • ISBN-13: 978-0981531649
  • Product Dimensions: 1.2 x 7.2 x 9.2 inches
  • Shipping Weight: 2.6 pounds
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (83 customer reviews)
  • Amazon Best Sellers Rank: #433,691 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Kindle Edition Verified Purchase
This book is really an intro to Scala and programming for Experienced Programmers, Experienced Java Programmers, and 'amateurs'.

It's in the middle of the road, and that's why it's not fantastic. It's also teaching somewhat 'intuitively'. That is, they often avoid stating the rules explicitly saying stuff like 'it's not needed for this section', so you end up seeing unfamiliar syntax without really learning the rules. Things like the => and the <- are somewhat unique to Scala (though they do map to constructs in other languages). But they never really give you the rules around them explicitly, they just show a few examples of different ways you can use things. As a result, you can't learn Scala deeply.

The wildcards in Scala are also not presented in depth, and instead you encounter their rules piecemeal: chapter by chapter, use case by use case. Maybe they'd be too much for one place, but I can handle references to parsing rules and it would be nice to have this presented early on.

They also discuss lots of the similarities to Java. I'm honestly not sure if this would really be that accessible to someone without experience in Java. I do know Java, so the parallels and contrasts are valuable, but then they're also discussing the basics of inheritance and information hiding -- one of these sections must be a waste of time for most readers: either you're an amateur (excuse the term, not meant to be condescending) and the section about Java is a waste of time, or you're experienced and the fundamentals of inheritance are a waste of time (yes, some readers might be experienced without Java knowledge, please take this as an example of a symptom).

It's tough to be all things to all people.
Read more ›
Comment 34 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Kindle Edition Verified Purchase
After completing about 40% of the book according to my Kindle for iPad this is what I have to say.

Things I love about the book:
(1) the Kindle for iPad edition was very well formatted (has a hyperlinked table of contents, hyperlinks throughout the book, chapters start on a new page, well formatted and easy to read code examples)

Things I like about the book:
(1) thorough (the book covers a lot of material)
(2) clearly written with no obvious typos/errors
(3) liked the way each chapter was organized. An Introduction followed by a more thorough discussion of the topic at hand followed by a summary of what was covered
(4) This book will work well as a reference after reading it as it is organized well enough that you can jump straight to a particular topic

Things I dislike about the book:
(1) choice of chapter order was not apparent to me. The book feels more like a lot of very well written tutorials, each covering a well defined topic, instead of a single unified tutorial (which is what I was expecting) with the goal of taking the reader from novice to a more advanced level.
(2) code examples are more complicated than they need to be
(3) the Kindle ebook does not have page numbers

Other thoughts:
I am of the opinion that this book will not get you up and running quickly. You have to read quite a bit before you get to a point where you can write useful code (I would suggest reading at least up to and including chapter 17 -- My Kindle tells me this is 38% of the book -- when you consider that the paperback version has 852 pages, 38% translates to around 320 pages of book material).
Read more ›
Comment 16 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
Don't get me wrong, this is a good book but not a whole lot different than the first edition. I was disappointed that the GUI Programming chapter is still using SimpleGUIApplication, which is a deprecated class. I was also hoping for more information on functional programming. A chapter on the best techniques for making reusable components would also be a good addition. Martin Odersky wrote a "Scalable Component Abstractions" back in 2005, in which he described what is now called the Cake Pattern, which improves on component reuse, but he makes no mention of this technique in this book. So, yes, this is a good book to learn scala, but my recommendation is that if you already have version 1, it's probably not worth your money to get version 2.
1 Comment 44 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I have found the presentation in the book to be awesome for my 15 years experience with Java. Each "new" concept is introduced at just the right level of the abstraction (this is the syntax), concreteness (here's an example usage - i.e. an aspect of the semantics) and then a pleasant mildly judgmental comparison to how the same is currently accomplished in Java (1.5 or higher). I also like how principled and consistent the authors remain as they present code and design patterns. It reminded me of my experience reading Bertrand Meyer's "Object Oriented Software Design" back in 1997. There is a very deep consistency and pleasantness to every aspect of Scala. It clearly has learned immense amounts from C/C++, Java, Eiffel, Modula 2, Lisp, Erlang, Hackell, etc.

Thanks to Oracle's recent acquisition of Sun (2010), I started looking for my "what's next after Java" as I have little confidence Oracle will be as good to the future of Java as Sun had been. I like that Scala integrates so naturally with Java code. I like how there is activity to integrate it with C#/.NET. Scala really does feel like the "next thing after Java" just as Java was the "next thing" after C/C++ 15 years ago. It's core is now sufficiently stable, I can see Scala eventually compiling to targets outside of the JVM.

"Programming in Scala - 2nd Edition" has held me mesmerized throughout. I haven't been able to put it down. I have the ebook version (too) loaded in my phone and I read it every spare moment I get. I am being quite literal in that I cannot put it down. And I cannot wait to dive in and play with the language, while never being very far from all the Java libraries I have learned to depend upon over the years.
Read more ›
1 Comment 32 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

What Other Items Do Customers Buy After Viewing This Item?