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


React Programming

Author: Loren Klingman and Ashley Parker
Publisher: Big Nerd Ranch Guides
Date: April 2023
ISBN:978-0137901760
Print:0137901763
Kindle:B0C4V69S8Z
Audience: Front end devs
Rating: 4
Reviewer: Ian Elliot
React is difficult to master, so a book can really help.



Functional Design (Addison-Wesley)

Author: Robert C. Martin
Publisher: Addison-Wesley
Date: September 2023
Pages: 384
ISBN: 978-0138176396
Print: 0138176396
Kindle: B0CGHQKGYG
Audience: General
Rating: 4.5
Reviewer: Kay Ewbank

This book sets out to explain the principles, patterns and practices of functional design, and why functional prog [ ... ]


More Reviews

Last Updated ( Wednesday, 14 July 2010 )