Advanced Search
Start Your Free Trial

Overview

Top Sellers in this Category

Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture
by Martin Fowler; David Rice; Matthew Foemmel; Edward Hieatt; Robert Mee; Randy Stafford

Grails in Action

Grails in Action
by Glen Smith; Peter Ledbrook

Learn how to be more productive with Scala, a new multi-paradigm language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. With this book, you'll discover why Scala is ideal for highly scalable, component-based applications that support concurrency and distribution. Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily. Packed with code examples, this book provides useful information on Scala's command-line tools, third-party tools, libraries, and available language-aware plugins for editors and IDEs.

  • Learn how Scala's succinct and flexible code helps you program faster

  • Discover the notable improvements Scala offers over Java's object model

  • Get a concise overview of functional programming, and learn how Scala's support for it offers a better approach to concurrency

  • Know how to use mixin composition with traits, pattern matching, concurrency with Actors, and other essential features

  • Take advantage of Scala's built-in support for XML

  • Learn how to develop domain-specific languages

  • Understand the basics for designing test-driven Scala applications

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.5 out of 5 rating Based on 5 Ratings

Awesome Work - 2009-10-21
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Full disclosure: I was the technical editor for Dave Pollak's "Beginning Scala," which of course I also recommend, and Dean and Alex very graciously included my name in their preface. With that said...

"Programming Scala" is simply spectacular work. As I tweeted, it's dense and chewy, like a well-crafted caramel. Dean and Alex bring the full weight of their experience with multiple platforms and languages to bear on Scala, showing us its various strengths (and a few weaknesses!), applying it to tasks that modern programmers are virtually certain to care about, and do so with the sense of fun that I've come so strongly to associate with Dave, Dean, Alex, and really the whole Scala community. That they manage to do this in such a slender volume without feeling rushed, cryptic, or incomplete is a testament to the tightness of their writing and the quality of O'Reilly's editing. "Programming Scala" is an indispensable member of the Scala canon, and deserves a prominent place on your bookshelf.

Learn Scala Fast! - 2009-10-04
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book will get you up to speed QUICKLY with Scala.

I was under a time crunch to write code with complicated concurrency. With this book, I went from zero Scala experience to writing concurrent algorithms within a matter of hours. Concurrency has never been so painless. It's actually kind of ridiculous.

The book is extremely fluid and succinct. It gets to the point quickly. The organization is excellent and intuitive. While they assume you know enough about object oriented programming (and let's be honest, you probably do), they don't assume that you have a functional programming background.

The authors present a very strong case about Scala's strength as a modern multi-paradigm language, capable of addressing pertinent issues of scalability, concurrency, performance, development speed, reliability, etc. I'm definitely convinced.

If you are using or plan to use Scala, then this is a must have.

The Tapir in The Room - 2010-01-09
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Programming Scala can range from scripts, to object-oriented, to functional, to Actor-based multi-threading, to sophisticated library writing. Scripts are pre-compiled with an implicit main, for those short knock-off tasks, with the entire Scala libraries and Java libraries at the ready.

Programming Scala, the book, welcomes readers from a variety of language backgrounds, such as Java, Python, Ruby, JavaScript. I've read other Scala books, but I nevertheless found Programming Scala to be interesting, informative and stimulating. The writing style is very clear, which is just as well, because some advanced programming techniques are tackled as the book progresses. The Scala language is so uniform and concise, with powerful features and libraries, that it is feasible to tackle advanced programming which would be unthinkable or impossible in many other languages.

The book encourages test-driven development in early chapters, which makes the example code pretty much self-explanatory.

Author Dean Wampler responded quickly to my minor change request for the downloadable sample code to self-test in Ubuntu. Authors aren't obligated to provide post-publication service to readers, but these guys do.

The Tapir (Elephant) in The Room is a fast moving hunter whose speed defies his size. Like Scala.

Interesting language but book organization could be better - 2010-01-27
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Scala is a very interesting language and tremendously powerful. It takes aspects of functional languages joins them to DSLs (domain specific languages) and adds it all on top of standard object oriented programming concepts and then runs the whole thing on the Java virtual machine. As such there's a lot of interesting things to learn and understand about the language and the fairly radical concepts its raising.

However, while the topic is clearly fascinating I feel the book is not especially well organized. Scala introduces many interesting and novel language design concepts (e.g. the functional features and their take on the actor model for concurrency). It also introduces a great number of language short cuts and syntactic sugar, allowing for DSLs or at the very least less typing and more of the feel of a scripting language. The book chooses to introduce the language short cuts first and then proceeds to use them liberally when introducing the language features. This no doubt promotes good "scala" practice but does make understanding the new concepts more difficult since we're still learning the new syntactic forms.

I think a better approach would have been to introduce the language concepts first - in long hand form (and we're usually talking just a few extra characters here, not pages of text) - and then follow up in the later chapters with the syntactic sugar and the ways to reduce typing and allow for alternative naming and syntactic forms (which helps support domain specific languages). That would have made it easier to grasp the concepts and then we could have learned how to enhance those basic skills and produce even more compact and flexible Scala programs.

One indication of this problem is the great number of forward references in the book. A concept is often introduced but it can only be partially explained (since the early focus is often more on syntax than deep semantics) and so many times the full explanation has to be deferred until later - and later is often 10 chapters later. You can do that once or twice in a book, but you shouldn't need to do it half a dozen times in each chapter - or it's a sign the overall organization is poor.

On the plus side the book is short (always a benefit when being introduced to a new language) and the chapters contain many interesting examples which are actually very helpful in explaining the authors points. The book also does a very good job of covering the breadth of the language and all that it introduces in a relatively short amount of space.

In summary I think it's a good effort but I suspect in a few month's time there will be better choices for learning Scala.

A 'must' for any serious computer library - 2010-01-11
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Dean Wampler and Alex Payne's PROGRAMMING SCALA covers Scala and Java and tells how to be more productive with the new language for JVM that blends many features of object-oriented and functional programming. From Scala's flexible code to knowing how to compose using traits and patterns and using Scala's support for XML, this packs in all the basics and is a 'must' for any serious computer library.

Browse Similar Topics

Top Level Categories:
Databases
Internet/Online

Sub-Categories:
Databases > Object Model
Internet/Online > Java

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2010 Safari Books Online. All rights reserved.