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


Python Distilled (Addison-Wesley)

Author: David Beazley
Publisher: Addison-Wesley
Date: September 2021
Pages: 352
ISBN: 978-0134173276
Print: 0134173279
Rating: 4
Reviewer: Alex Armstrong
Python isn't a big language but it's getting bigger all the time.



Database Design for Mere Mortals: 25th Anniversary Edition

Author: Michael J Hernandez
Publisher: Addison-Wesley
Pages: 680
ISBN: 978-0136788041
Print: 0136788041
Kindle: B08JLXKJ6S
Audience: Database developers
Rating: 5
Reviewer: Kay Ewbank

As the title of this book suggests, this is a title that has stood the test of time, and this updated 4th Edition has bee [ ... ]


More Reviews

Last Updated ( Wednesday, 14 July 2010 )