RaymondT (15) [Avatar] Offline
#1
Hi Josh,

Love reading your book smilie and thanks for sharing your insights.

I re-read Chapter 9 on Actors and was wondering whether you're considering to write about

1) Design/Implementation differences in Scala's Actor's library and Akka?
2) Changing / Disabling / Enabling the different JVM locking strategy e.g. biased, atomic, reentrant and whether it affects design/implementation?
joshua.suereth (60) [Avatar] Offline
#2
Re: Question for Chapter on Actors
(1)
Given that Scala's actors library is being redesigned to look more like Akka's, I'm not sure this makes a lot of sense. If there's a 2nd edition, it will probably only cover Akka actors, judging by where things are moving.

(2)
That's a topic I don't cover in Scala. One of the hardest things about writing an "in depth" book for a language like Scala is what to cover. I decided not to cover JVM specific details, unless there was *scala* reason to do. The JVM Locking strategies have a lot of good coverage in existing material. While it would make for an interesting section/chapter, it doesn't quite fit any of the current chapters well.

Note: the actors chapter is showing how concurrent, mutable code can be written to be performant *and* not require locks. If there were a chapter on just concurrency in Scala, this would be the location for such a discussion.

Again, since the details don't differ much from Java, I decided to focus on other areas, like the implicit system, details on how the type system works, and category theory for FP.

I'm always willing to entertain a well-reasoned argument, but the book is close to being in print, so all of this new content would have to wait for a potential 2nd edition.