Beginning Scala
Author:David Pollak
Publisher:  Apress, 2009
Pages: 350
ISBN: 978-1430219897
Aimed at: Java programmer
Rating: 3
Pros: Condensed introduction to Scala
Cons: A confusing presentation that relies on prior knowledge
Reviewed by: Mike James

Scala is an interesting language but unfortunately this book doesn't give Scala a chance to stand on its own feet.


Author:David Pollak
Publisher:  Apress, 2009
Pages: 350
ISBN: 978-1430219897
Aimed at: Java programmer
Rating: 3
Pros: Condensed introduction to Scala
Cons: A confusing presentation that relies on prior knowledge
Reviewed by: Mike James

Scala is an interesting language with a tendency towards functional programming in an object oriented context. I wanted to learn something about it so Beginning Scala seemed like a good starting point - it probably wasn't.

 

Banner

 

It starts off slowly and steadily enough but even from the beginning it doesn't really give you any idea why Scala is special. Part of the problem is that it constantly refers to Java as a baseline and explains how Scala saves a few key presses or has better syntax. If you are a refugee Java programmer, which the author clearly is, then this might be useful however it doesn't give Scala a chance to stand on its  own feet.

The second and more major problem is that the author tends to write sentences that assumes what is about to be explained. So for example:

... thus there's an entire iteration of the inner variable, j, for each value of the outer variable i.

scala> for(i<-1 to 3 j<- 1 to 3) print(i*j)

The sentence talking about i and j occurs before the example that its talking about. In this case the problem is small and you can certainly follow what is happening but the effect builds up and adds, usually momentary, confusion where a simple reordering would remove the problem.

Most of the book has this sort of style that is typical of a writer who knows his subject but not his readers. The book also lack a logical order of presentation. There are also places where ideas are introduced and discussed but without the reader having any clue as to what is going on. You are left with the impression that you should understand and your only option is to backtrack to see if you have missed some explanation - you probably haven't.

Chapter 2 ends with a comparison of Scala, Java and Ruby - interesting but probably in the wrong place. Chapter 3 is about collections and immutability. This is where we mostly learn about functional programming. Chapter 4 is on functions and continues the comparison with Java. Chapter 5 is on pattern matching and contains some interesting observations on object and functional approaches. Chapter 6 deals with parallel programming - actors and concurrency. In this chapter some of the examples start to be overlong and difficult to follow.

Chapter 7 is called Traits and Types and Gnarly stuff for Architects. By this point the attempt at humorous titles is beginning to wear very thin. Something meaningful and not jokey would be welcome. Chapter 8 is on parsing from the angle that domain specific languages are now mainstream so parsing should be too.

The book rounds off with a look at Scala in a wider development context and considers testing and other methodologies. Only in this chapter do you get an exposition of why Scala is different. The book does get better as it goes on but it still has its problems.

Overall this book isn't much use unless you know Java and know Scala which sort of misses the point. It isn't a good beginners book because it just isn't well structured or well explained.


Banner


Learn to Program with Minecraft Plugins

Author: Andy Hunt
Publisher: Pragmatic Bookshelf
Pages: 284
ISBN: 978-1937785789
Audience: Minecraft aficionados interested in learning to program
Rating: 4.5
Reviewer: Mike James

Minecraft is a fun "game" and it already has aspects of programming within it so what could be more logical than usi [ ... ]



Python: Visual QuickStart Guide (3rd Ed)

Author: Toby Donaldson
Publisher: Peachpit Press
Pages: 224
ISBN: 978-0321929556
Audience: Beginners to programming who want to learn Python
Rating: 4
Reviewed by: Sue Gee

The new edition of this beginner's introduction to Python comes with eBook access - which seems a worthwhile advantage.


More Reviews

Last Updated ( Wednesday, 14 July 2010 )
 
 

   
RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.