This book seems really good. Is it still relevant for Scala 2.8, given that it was published in 2008?
-
1Just take the new features and change deltas into account and ... sure (but if it costs $, there are likely better approaches ;-). One *big* 2.7/2.8 difference is the the standard collection library for which there is at least one nice write-up (perhaps more) by Odersky + others. – Mar 04 '11 at 22:12
-
The major core of the language hasn't changed much, so to learn about the stuff like syntax, structure, first-class functions, etc., it works just fine. And take a look at these links: http://www.scala-lang.org/docu/files/collections-api/collections_47.html, http://stackoverflow.com/questions/1243794/what-are-the-biggest-differences-between-scala-2-8-and-scala-2-7 – wkl Mar 04 '11 at 22:21
-
The 2nd edition of that book is coming up soon and is already available in early access form: http://shop.oreilly.com/product/0636920033073.do – Rafael Cordones Jul 17 '14 at 21:43
2 Answers
Yes. They don't cover some of the newest material, but in those cases there are many good online writeups, such as:
- The new collections API: http://www.scala-lang.org/docu/files/collections-api/collections.html
- The architecture of the new API (gives a good deal of insight to the more subtle features added in 2.8 which made the new API possible): http://www.scala-lang.org/docu/files/collections-api/collections-impl.html
- Package objects: http://www.scala-lang.org/docu/files/packageobjects/packageobjects.html#
etc. Payne and Wampler do point out a lot of the new features where they were known ahead of time and, as I recall, nothing they wrote changed in such a significant way to make what they said inapplicable.
UPDATE:
As asked in the comments, the actor and parser combinator libraries also had some changes. The actor library now includes the Reactor trait (discussed here http://www.scala-lang.org/node/2041) and the parser combinator library now includes a packrat parser implementation. There is a fairly complete (as far as I know) list of the changes in 2.8 here: http://sites.google.com/site/scalatohoku/changes-and-improvements-on-scala-2-8

- 295,120
- 86
- 501
- 681

- 2,567
- 20
- 13
-
-
Actually, yes, both of those libraries had somewhat significant changes. The actor library got the addition of the Reactor trait (that and other changes are described here http://www.scala-lang.org/node/2041) and the parser combinator library now uses the packrat parser implementation. A good summary of all the changes is available here: http://sites.google.com/site/scalatohoku/changes-and-improvements-on-scala-2-8 – Thomas Lockney Mar 04 '11 at 22:30
-
Packrat is optional, actually. The original parser combinator is all there. – Daniel C. Sobral Mar 05 '11 at 01:01
-
@Daniel, thanks -- I actually meant to write "includes" where I typed "uses." I appreciate your pointing that out. – Thomas Lockney Mar 05 '11 at 01:15
-
I added the details in my earlier comment to the answer and made the correction Daniel pointed out. – Thomas Lockney Mar 05 '11 at 01:18
Apart from the discussion of Programming Scala (Payne and Wampler), the first edition of Programming in Scala (Odersky, Spoon, Venners) was excellent, and I'm sure the second edition, which came out recently and covers 2.8, is even better. (Also available for significantly less from Amazon, although AFAICT you don't have the option of getting the PDF that way.)

- 7,939
- 1
- 27
- 40