Start reading Beginning Scala (Expert's Voice in Open Source) on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device


Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Beginning Scala (Expert's Voice in Open Source)

Beginning Scala (Expert's Voice in Open Source) [Kindle Edition]

David Pollak
3.2 out of 5 stars  See all reviews (4 customer reviews)

Print List Price: £31.49
Kindle Price: £25.95 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £5.54 (18%)
* Unlike print books, digital books are subject to VAT.


Amazon Price New from Used from
Kindle Edition £19.20  
Kindle Edition, 25 May 2009 £25.95  
Paperback £31.49  
Kindle Daily Deal
Kindle Daily Deal: At least 60% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Customers Who Bought This Item Also Bought

Product Description

Product Description

The open source Scala language is a Java-based dynamic scripting, functional programming language. Moreover, this highly scalable scripting language lends itself well to building cloud-based/deliverable Software as a Service (SaaS) online applications.

Written by Lift Scala web framework founder and lead Dave Pollak, Beginning Scala takes a down-to-earth approach to teaching Scala that leads you through simple examples that can be combined to build complex, scalable systems and applications.

This book introduces you to the Scala programming language and then guides you through Scala constructs and libraries that allow small and large teams to assemble small components into high-performance, scalable systems. You will learn why Scala is becoming the language of choice for Web 2.0 companies such as Twitter as well as enterprises such as Seimens and SAP.

What you’ll learn

  • Get running with the Scala programming language for functional Java, Java-based, and cloud-based/deliverable applications development, and more.

  • Understand the basic syntax and mechanisms for writing Scala programs.

  • Discover the techniques for and advantages of using immutable data structures.

  • Create functional programming techniques for defining and managing concurrency.

  • Use a complex type system and traits to define object-oriented programs.

  • Work with Scala constructs and libraries that allow teams of any size to assemble small components into high-performance, scalable systems.

  • Build complex systems based on the simple examples learned along the way through this book.

Who this book is for

Java developers looking to reduce boilerplate, improve team performance, improve interteam dynamics, and build more scalable and robust systems. Also, this book will appeal to Java developers looking to do cloud-based development. Lastly, Ruby, Python, and Groovy programmers looking for a higher performance and a more robust language will benefit.

Table of Contents

  1. About Scala and How to Install It

  2. Scala Syntax, Scripts, and Your First Scala Programs

  3. Collections and the Joy of Immutability

  4. Fun with Functions, and Never Having to Close That JDBC Connection

  5. Pattern Matching

  6. Actors and Concurrency

  7. Traits and Types and Gnarly Stuff for Architects

  8. Parsers—Because BNF Is Not Just for Academics Anymore

  9. Scaling Your Team

Product details

  • Format: Kindle Edition
  • File Size: 1990 KB
  • Print Length: 319 pages
  • Page Numbers Source ISBN: 1430219890
  • Publisher: Apress; 1 edition (25 May 2009)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B002ACP2AY
  • Text-to-Speech: Enabled
  • X-Ray:
  • Average Customer Review: 3.2 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Bestsellers Rank: #919,818 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

Customer Reviews

Most Helpful Customer Reviews
7 of 7 people found the following review helpful
3.0 out of 5 stars Reasonable introduction, but could be better. 26 Jun 2009
Format:Paperback|Verified Purchase
I have read both Programming In Scala: A Comprehensive Step-By-Step Guide and this book and I could only recommend this book to a person who is looking for a quick read (Programming In Scala is a much longer read, but also, in my opinion, a much better book).
I think the author of this book could in many cases have spent a bit more time finding better examples/snippets (I am not a very good fan of examples like: Dude2, OtherDude, Yep, etc... but maybe this is just personal taste). Some of the examples which are supposed to be more meaningful (like the transactional actors example) are in my opinion a bit disappointing.
Overall, it is a reasonable introduction to the Scala language, but I would encourage people to invest a bit more time and read Programming In Scala instead.
Comment | 
Was this review helpful to you?
2 of 2 people found the following review helpful
5.0 out of 5 stars Deceptive in a good way 3 Feb 2010
I bought this book as a cheap "extra" to Programming In Scala. But my, is it good - it looks too simple and reading it so little effort that you worry that it is oveer-simplifying, but no - it's just very well written. Without any dangerous shortcuts or omissions it takes you through the basic core of Scala between pages 20 and 45 - just 25 very clear and focused pages so that you can start writing "Scala as better Java" type code straightaway. It covers keys library classes and functional language elements - and the thinking behind them - just as well. It even has time for a chapter on using Scala's parser library for creating Domain Specific Languages.

If you intend to work with Scala, you really should read Programming In Scala. It's the language founder's book and ultimate resource. But Beginning Scala covers the first things you need to know with outstanding clarity and brevity, making it the smart buy to get you through your first weekend of evaluating Scala. And it will let you save time by skipping huge amounts of Programming In Scala, letting you start with its coverage of really advanced topics, which is where it shines.
Comment | 
Was this review helpful to you?
4.0 out of 5 stars Jump into Scala for devs 18 Sep 2010
By bob
A really great book for somebody with dev experience who wants to learn Scala. Starts easy, but builds up to some advanced techniques. The author uses his experiences of other languages to teach you what you need to know. I have experience with Scala's cousin F#, so perhaps this made the book easier going.

A $10 ebook is available too.

As others have said, read in conjunction with the book "Programming In Scala: A Comprehensive Step-By-Step Guide"
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
1.0 out of 5 stars Don't waste your money 3 Dec 2010
I thought I'd save money and buy this, ended up buying Programming in Scala anyway, it's chalk and cheese. Programming in Scala is pure class, Beginning Scala is pure rubbish!
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 3.3 out of 5 stars  19 reviews
15 of 15 people found the following review helpful
3.0 out of 5 stars Needs better editing, organization, insights. 31 July 2009
By Michael Ernest - Published on
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.
8 of 8 people found the following review helpful
5.0 out of 5 stars Beginning Scala is not just for beginners 18 Aug 2009
By Brian M. Clapper - Published on
(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.
13 of 15 people found the following review helpful
5.0 out of 5 stars A humane introduction to Scala 27 May 2009
By Nathan - Published on
Everything that "Beginning Scala"' sets out to do, it does well. Still need to be convinced that Scala is relevant to your programming future? Chapter 1 makes the most convincing case of it that I have seen, leveraging not just the author's knowledge of this relatively new language but his substantial and diverse experience in software, developing for more platforms and within more paradigms than most of us have heard of. This experience is evident throughout, with examples that range from the whimsical (yet instructive) to the eerily familiar. The title of Chapter 4 will ring a few bells for anyone who has programmed in Java professionally: "Fun with Functions, and Never Having to Close That JDBC Connection". (Scala, where were you in 2002?)

Just as important as the information contained is how it's presented. "Beginning Scala" strikes a balance between conversational and serious that makes it particularly approachable to beginners and, I would wager, disarming to Scala skeptics. The editors should be commended for taking a chance and allowing a tone that, for many technical authors that attempt it, can come off as cheeky. But in this book Pollak's voice adds a convincing dash of passion to the work that (as much as is possible in programming literature!) makes it a page-turner.

To learn Scala, there's a hard way and an easy way. This is the easy way.
8 of 9 people found the following review helpful
1.0 out of 5 stars Confusing and angering 25 Oct 2010
By Tom - Published on
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 OtherThing

What'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.
7 of 9 people found the following review helpful
2.0 out of 5 stars Not really what it says on the tin 30 May 2009
By Steven Gilham - Published on
A better title would be "A Scala taster for the Java Programmer" (something you equally get from the Scala web site); very definitely not a "Scala as my first language" text. One of these days we might get a Scala text that doesn't presume any Java experience, but this is not that book.

A besetting sin across the Apress line (Foundations of F# (Expert's Voice in .Net) and Expert F# (Expert's Voice in .Net) also suffer from the similar problem), is weak editing. The author gushes with enthusiasm, and almost free-associates at you, leaving the reader to reverse engineer the general principles being talked around from the accidents of the particular example, without firm editorial hand to separate them.

The editorial hand is also weak, not only in the usual '"Sever" where "Server" was intended' level of copy-editing; but in missing the inconsistent explanation of the use of colon (:) to bind operators right-to-left (page 53 vs page 128 -- I believe the latter is correct).

There are a few features of the language that this book touches on, incidentally and in passing (synchronized methods, duck-type constraints of the [A <: def ...signature...] form), that are not covered in the Stairway Book (Programming in Scala: A Comprehensive Step-by-step Guide), and the different set of examples provide a separate perspective on the practical application of the language features, but I am not sure to what reader, beside the completist, I would recommend this book.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Popular Highlights

 (What's this?)
if it's expecting a function with parameters of a particular type and you pass a method that takes those parameters, Scala will promote the method with its missing parameters to a function. &quote;
Highlighted by 6 Kindle users
A trait has all the features of the Java interface construct. But traits can have implemented methods on them. &quote;
Highlighted by 6 Kindle users
a call to the equals method rather than the Java meaning of reference comparison. If you want to do a reference comparison in Scala, use the eq method. &quote;
Highlighted by 5 Kindle users

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category