Start reading Scala Cookbook 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.
Scala Cookbook: Recipes for Object-Oriented and Functional Programming

Scala Cookbook: Recipes for Object-Oriented and Functional Programming [Kindle Edition]

Alvin Alexander
5.0 out of 5 stars  See all reviews (1 customer review)

Print List Price: £35.50
Kindle Price: £11.12 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £24.38 (69%)
* Unlike print books, digital books are subject to VAT.


Amazon Price New from Used from
Kindle Edition £11.12  
Paperback £22.07  
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.

Special Offers and Product Promotions

  • Purchase any Kindle Book sold by and receive £1 credit to try out our Digital Music Store. Here's how (terms and conditions apply)

Customers Who Bought This Item Also Bought

Product Description

Product Description

Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language.

Author Alvin Alexander (creator of provides solutions based on his experience using Scala for highly scalable, component-based applications that support concurrency and distribution. Packed with real-world scenarios, this book provides recipes for:

  • Strings, numeric types, and control structures
  • Classes, methods, objects, traits, and packaging
  • Functional programming in a variety of situations
  • Collections covering Scala's wealth of classes and methods
  • Concurrency, using the Akka Actors library
  • Using the Scala REPL and the Simple Build Tool (SBT)
  • Web services on both the client and server sides
  • Interacting with SQL and NoSQL databases
  • Best practices in Scala development

About the Author

Alvin took the circuitous route to software development. He managed to get a degree in Aerospace Engineering from Texas A&M University, while all he was really trying to do was play baseball. Once he became a practicing engineer, he realized he liked software and programming more than engineering. So in approximate order he taught himself Fortran, C, Unix and network administration, sed, awk, Perl, Java, Python, Ruby, JRuby, Groovy, PHP, and Scala. During this process he started a software consulting firm, grew it to fifteen people, sold it, and moved to Alaska for a few years. After returning to the “Lower 48,” he self-published two books (“How I Sold My Business: A Personal Diary”, and “Zen and the Art of Consulting”). He also created, which receives millions of page views every year, and started a new software consulting business, Valley Programming.

Product details

  • Format: Kindle Edition
  • File Size: 2038 KB
  • Print Length: 722 pages
  • Simultaneous Device Usage: Unlimited
  • Publisher: O'Reilly Media; 1 edition (1 Aug 2013)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B00EA66OM8
  • Text-to-Speech: Enabled
  • X-Ray:
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: #179,957 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?

More About the Author

Discover books, learn about writers, and more.

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

4 star
3 star
2 star
1 star
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
1 of 1 people found the following review helpful
5.0 out of 5 stars Excellent book 21 Nov 2013
By P. Cox
Format:Kindle Edition
This book is just excellent.

It contains useful, clear examples, concepts and best practices all explained in a clear, easily readable and straightforward manner.

The range of coverage is also superb - everything you might want covered is here and certainly in enough detail to get you very well equipped to go off on your own and get more in-depth with any topic or feature you need to do that with.

Get it, it's worth every penny.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 4.5 out of 5 stars  16 reviews
12 of 13 people found the following review helpful
5.0 out of 5 stars Best Scala Book by far in a Group of MANY Outstanding... 31 Aug 2013
By Let's Compare Options - Published on
Format:Paperback|Verified Purchase
"If new programmers have time to learn only one language this year, it should be Scala." That's a quote from a top MIT engineer and professor and Google employee, from a conference I attended on "Most likely successors to JAVA." Say what? I'm a roboticist and engineer, and to look absolutely idiotic, I'd never even HEARD of Scala until that moment!

But I HAD heard of LISP, Haskell, C#, Java and my beloved Python. Little did I realize before the conference (3 years ago) that Scala actually COMBINES the best of all those, runs on the Java JVM, uses tools like Ant seamlessly, and has non-glue access to ALL the Java libraries.

But that's just the beginning. Scala is niether purely functional nor purely imperative, is static typed, yet works wonderfully in my real time robotics applications. Unlike even C#, let alone Java, you can do "quick" object compile commands without statics or class declarations, just like a script! You can access the JVM compiler, or .net. or scala's own interpreter, depending on your need. WOW. Scala has the functional bennies of pattern matching, macros, currying, tail recursion, immutability, algebraic types, lazy evaluation, pattern matching and many more; fixes the non unified type and type erasure as well as checked exceptions problems in Java (and many others); Scala has a unified type system (like C#) unlike Java, even though it is Java seamless!

So what do all these wonderful things have to do with this gem of a book? Easy: what good is a book if it just rehashes the Java features and misses the unique wonders of Scala? THIS TEXT DELIVERS! By that I mean it gives examples of ALL the differences, in English and code, that make this language a winner among winners.

At over 700 pages, you can frame this amazing book as a learning text, a reference, a cookbook, an encyclopedia, and for sure a valued friend for the library of every Java and C# jock. Because of parallel, concurrency and run time features (dear to the heart of roboticists, circuit folks like me), I believe that this text gives powerful evidence that Scala could not only be the next Java, but next C in circuits, Erlang in parallel (Early Scala used the Actor model, but that is being phased out for AKKA in the next few releases), and Lisp in functional!

You don't need to know Scala to benefit from this book, and in fact you CAN LEARN Scala just as well with this book as any of the intro Scala texts, and save yourself a ton of money and duplication, BUT like those many fine intro texts, you still have to understand basic OOP/ functional or both (in other words use it to learn your soon to be favorite language, but not to learn basic programming). In other words, if classes, functions, types, recursion, objects etc. still confuse you, this isn't the place to start. Another cool thing about both this text and Scala is that they get rid of the very silly "never use go to" that was supposedly the hallmark of imperative, and cut through all that baloney (can you say jump statements?) with very clear and simple switch and other alternatives. Both day to day coders like myself will love this cookbook, as well as "purists" who look down their noses at Java itself due to Prolog or Lisp. THIS TEXT AND THIS LANGUAGE truly blend all the best features of both worlds!

Highly recommended for coders of all skills, even advanced pros, and of course oddballs like me who are more into circuits, embedded and run - real time monsters, robotics, etc. If you're just getting out of High School and are considering which language to get started with, I'm not trashing Java (and still LOVE Lisp and Python), but I've got to say I wish I'd read this text when making those decisions! Due to being an O'reilly tome, the code also is relatively bulletproof and most of the snippets I tried ran flawlessly, but out of nearly 1,000 yummy pieces of this pie, I've only tried about 100, so take it in that context. Most authors (including this text) don't consider Scala a good language to use to "learn basic programming" -- but also concede that since Twitter, Netflix and LinkedIn run on it (among many others) it IS worth eventually learning.

ROBOTICIST/ INVENTOR EMAILER ANSWER: YES, I do think this also could be a C or C++ successor, including in embedded. Surely not as a "spice" circuit compiler, but more for very large, data intensive applications just as when you move from Arduino schemes to Linux as you evolve. If I were Apple, I'd be eyeing it in lieu of C++ right now. I mean, think about it, both .net and JVM are used in embedded bricks today. One of our most complex, 60 degrees of freedom pick and pack machines includes the JVM. There are Haskell and Scheme solutions that would make the Java used MUCH better, and Scala allows that "big data," parallel combination to happen ON the JVM, while adding the wonderfully robust Matlab/simulink like libraries of functional CAS approaches, and soon, AKKA.

Truly next decade's language in my opinion, granted after only using it for a few years (remember, fully stable versions are still coming out as this review is being written! If you're a patent type or circuit/ software developer, N.B.). If you also think the relatively new Oracle/Sun thing might mean bye bye Java innovation... well, here's a place to turn! We get a lot of requests to review books, and there seems to be a new Scala book coming out every month, so if that's any indication, here's a language that looks like a clear frontrunner for the Java throne.

Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
2 of 2 people found the following review helpful
5.0 out of 5 stars Fantastic! 17 Mar 2014
By Ahmad - Published on
Format:Paperback|Verified Purchase
Excellent book. Best if you're a bit familiar with Scala & have done a little bit of work with it. This is not a teach yourself Scala book but it didn't start out advanced either. Couldn't be happier with it.

-- Update --
This book is a true gem and continues to impress. I find myself sometimes searching for something online only to find it full with examples and well documented code/practices in this fantastic book which is now an indispensable reference. Hats off to the author.
5 of 7 people found the following review helpful
5.0 out of 5 stars bootsrap into scala, the highway style - concice, very well written, interesting with great examples 22 Aug 2013
By Tomer Ben David - Published on
To begin with, it has the clearest explanation of flatmap I have read (and I've read a lot) although its the clearest it didn't actually talk about flatmap source code implementation itself. I think this describes best the book. It handles lot of small problems and questions you would have about Scala and have a very good explanation of them. By this its doing a very good job for those specific items and issues explanations. Naturally this means it has a less organized step by step chronological description of the language, other Scala books do a better job on this, however this is not its aim. The author knows to write, not only is he clear, he knows how to make the reading enjoyable, and tend to raise notions i had in my mind by didn't dare to ask (such as map flat sounds better than flat map).

In CHAPTER 13: The book discusses as well (very clear, concise, perfect - no need to repeat that) akka actor. He moves forward with a few examples on akka actors, the examples are things you will need to do in real world programming, how to start an actor, pass it parameters in constructor, where is it recommanded to write the message case classes, examples of sending messages back, how to stop actors, graceful ungraceful exits, watching actors, all with full examples - meaning the examples are all you need practically no partial codes or snippets, full wroking examples, yet small enough for you to learn from them, well colored code, all is clear, examples are both simple, clear language, and ones you would actually use. He does a marvelous job in giving clear examples. It's a great entry point into akka, once you get the akka chapter you have the groudbase to dive deeper. An example of why its fun to read is that as an example of the Actor lifecycle an Actor named Kenny is created, so you can practically "restart" Kenny which is nice for southpark lovers (finally we get something useful out of southpark..)

The book provides me with what i expected and more. I expected it to be a cookbook and indeed i'm upgrading my scala cooking skill with it. It has surprised me to the better, it is a much better scala book than i expected as its very clear and concise. It talks about real world problems. I like its problem - solution format. I practically had all problems as questions while programming in scala and had to look out for answers or deduce them. Now I can either verify what I came out with is aligned with the best practice or for problems I didn't have yet understand the best practice.

Bottom line: It's a pretty perfect book for beginners who already have some notion in scala, I really like that book, i'm sure you will (as a book even not as a scala book, it's worth knowing the author's style). I love the problem solution template this fits well into my day to day Scala ramp up. The are currently various great books on scala and this one is currently the more useful in picking up a very specific item in scala and learning it. As for a comprehensive gradual guide to understand deeper the language I use other books.

UPDATE 15/May/2014 after having around 1 year of expertise with scala I must say I use this book less and less and I don't need that much examples its already in my programming habbits. So this book served me VERY WELL in bootstrapping my scala skills while getting to know scala, but now as i'm more into crafting my functional programming and haskell skills i'm less and less using this book. However It has proven itself indeed to be the best bootstrap for me into getting familiar with a foreign language.
2 of 3 people found the following review helpful
5.0 out of 5 stars Solve common problems with idiomatic Scala examples 29 Nov 2013
By Charles Feduke - Published on
Over the past year I've read a lot of Scala books. Had I started here I wouldn't have needed to read as many! There is a lot about the language and ecosystem that can be learned by seeing idiomatic examples.

The biggest advantage of this book is in PDF format on your HDD its very easy to find solutions to problems by searching by keyword instead of having to dig through out of date blog posts indexed by Google. Like most O'Reilly cookbooks you don't have to read this title cover to cover if you scan it and know what's inside.

The author also includes a 141 page bonus chapters PDF that covers XML, testing/debugging (logging configuration as well), and Play recipes.
2 of 3 people found the following review helpful
5.0 out of 5 stars Brilliant 6 Sep 2013
By Cyril - Published on
I am .Net programmer transitioning into scala and functional programming and this book helped a great deal learning about the language, Examples are so easy to understand and coverage on OOP especially Traits and functional programming concepts were awesome.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

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