Series: Expert's Voice in Open Source
Paperback: 350 pages
Publisher: Apress; 1st Corrected ed., Corr. 3rd printing edition (May 24, 2009)
Language: English
ISBN-10: 1430219890
ISBN-13: 978-1430219897
Product Dimensions: 7 x 0.7 x 9.2 inches
Shipping Weight: 1.4 pounds (View shipping rates and policies)
Average Customer Review: 3.3 out of 5 stars See all reviews (19 customer reviews)
Best Sellers Rank: #1,671,682 in Books (See Top 100 in Books) #122 in Books > Computers & Technology > Programming > Functional #548 in Books > Textbooks > Computer Science > Object-Oriented Software Design #1705 in Books > Computers & Technology > Programming > Languages & Tools > Java
Frankly I am puzzled by the glowing reviews of this book. While I have found it helpful for getting started on a few points, the elements that threw me off track or had me reaching for other resources made getting through the volume difficult.On the whole, the book feels to me as if it had been rather casually assembled from a series of notes or perhaps blog entry passages. While I understand the book is posed as an interactive, exploratory guide, there are several cases where an example using an unfamiliar language element is explained several pages later as if being introduced for the first time. There are other cases where a concept is explained several times as if starting over, which makes the "tour" seem ill-organized.The first major code example is a huge leap from the starter lines. It introduces at once not only several major concepts, but also a few economies of expression that are made possible in Scala. It was so much stuff all in one place, and very early on, that I wasn't at all sure what to focus on. I spent a great deal of my time, after reading through once, trying to piece together what there was to learn from this guide. I have also far more questions about the language and its use than I started with -- a good thing in many respects -- but many of my questions start with whether I've understood a given point correctly.Like the author, I lack any formal training in functional programming, so my knowledge gap may be wider than the average interested reader. As a teacher myself, however, I am convinced that a beginning guide can and should be systematic without sacrificing an interactive style. Key concepts should have some introductory text before applying several of them in one go in a dense piece of code. I certainly don't doubt the author's abilities and desire to inform others well, but I had to work a lot harder than I expected to get what I wanted from this guide.
(Adapted from a similar blog article I wrote, at [...])I picked up a copy of Beginning Scala a week ago, and I'm finding it to be a useful complement to Programming in Scala. I find, when I'm learning a new language, that different approaches fire different synapses. Programming in Scala (sometimes called "the staircase book", for its front cover) is an in-depth book that covers Scala in great detail. It is, in every way, the K & R of Scala. I have a copy of Programming in Scala; I've read it, and I continue to refer to it and re-read parts of it.Now that I'm about halfway through Beginning Scala, I'm finding that it's pointing out some new tricks, tricks I missed in the staircase book and on the mailing lists. I'm certain I could find these tricks find by poring back over the staircase book, but Pollak's clear, concise and highly practical approach makes them readily apparent and easy to grasp.I've been using Scala for several months now, and it's not the first programming language I've taught myself (not by a long shot). It is a complex and powerful language, and I cannot learn all its tricks from one book, or even from reading alone. I'll be learning it and refining my use of it for awhile yet. Alternate viewpoints help, and although Beginning Scala is ostensibly targeted at Scala beginners, it assumes the reader is not a programming beginner or an idiot. It's written in a concise, practical style that contrasts nicely with the style of Programming in Scala. The different approaches the two books take hammer home many of the concepts of Scala in a way that either book, by itself, does not.Neither book has made it to my bookshelf yet, because I keep referring to both of them. For me, that's proof enough of their value. If you're just learning Scala, or if you've been using it for awhile, you'll likely find great value in Beginning Scala.
I've only made it through chapter two, and I am already moved to come onto the Internet and warn others about this terrible, confusing book.I am new to Scala and new to functional programming, and since we're trialing Scala at work I thought 'Beginning Scala' would be an appropriate place to start. A quick flick through at the book store promised I would 'explore the power, simplicity and beauty' of the language 'in a fun, interactive way'. Sold!Whilst Pollak's writing style does seem a little rushed, my main problem is with the ludicrously flawed code examples. To illustrate the unfamiliar concept of 'traits', you'd expect the author to reach for well-trodden, real world examples. But no! Apparently it is more 'fun' and 'interactive' to throw together a random bag of unrelated nonsense words and use those instead: class Yep extends FuzzyCat with OtherThingWhat's wrong, can't you picture a yep? You know, it's like a kind of fuzzy cat, but with an... other thing? The examples don't get any clearer as we move on to overriding methods: object Dude2 extends Yep { override def meow() = "Dude looks like a cat" }Ah, the distinctive meow of a Dude2.Added to this, the book doesn't seem to know its audience. Elementary concepts such as variable scoping are illustrated amongst swathes of unrelated (and unexplained) Scala syntax, rendering the explanation useless to both new and experienced programmers.Maybe it gets better further in (and I will try to keep reading), but to a Java programmer already somewhat skeptical of Scala's merits this book is more of a barrier than an aide to further Scala exploration. There must be something better out there.
Beginning Scala (Expert's Voice in Open Source) Deeper Voice: Get a Deeper voice Quickly, Become a Leader: Proven way to deepen your voice:(Low pitched voice, Attractive Voice, Voice Singers, Manly Voice, Charisma, Power) Pro OpenSolaris: A New Open Source OS for Linux Developers and Administrators (Expert's Voice in Open Source) Nessus Network Auditing: Jay Beale Open Source Security Series (Jay Beale's Open Source Security) Pro DNS and BIND 10 (Expert's Voice in Open Source) Surgery Open Heart: A Surgical Nurse Guides You Through Open Heart Surgery (Open Heart Surgery, Aortic Valve / Mitral Valve Replacement, Coronary Artery Bypass, Aortic Aneurysm, Myxoma) Open Water Swimming Manual: An Expert's Survival Guide for Triathletes and Open Water Swimmers Beginning Oracle Database 11g Administration: From Novice to Professional (Expert's Voice in Oracle) Beginning SQL Server 2008 Express for Developers: From Novice to Professional (Expert's Voice in SQL Server) Beginning F# (Expert's Voice in .NET) Beginning Web Development, Silverlight, and ASP.NET AJAX: From Novice to Professional (Expert's Voice in .NET) Expert Visual C++/CLI: .NET for Visual C++ Programmers (Expert's Voice in .NET) Applied Cryptography: Protocols, Algorithms, and Source Code in C [ APPLIED CRYPTOGRAPHY: PROTOCOLS, ALGORITHMS, AND SOURCE CODE IN C BY Schneier, Bruce ( Author ) Nov-01-1995 Strunk's Source Readings in Music History: The Early Christian Period and the Latin Middle Ages (Revised Edition) (Vol. 2) (Source Readings Vol. 2) Learning Scala: Practical Functional Programming for the JVM Programming Scala: Scalability = Functional Programming + Objects Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM Scala Design Patterns: Patterns for Practical Reuse and Design Getting Started with SBT for Scala Gioachino Rossini - La scala di seta (The Silken Ladder): Opera Vocal Score Critical Edition by Anders Wiklund