nirvdrum (14) [Avatar] Offline
I'm certainly not looking ot nitpick, but one of the areas I find authors lose potential readers is when they're perceived to be throwing one language under the bus in order to further their pet technology.

Two things stood out reading this section:

1) JRuby is a very solid Ruby implementation that doesn't suffer from a GIL. Jython exists for Python and similarly wouldn't suffer from that, although it's admittedly not in as wide of use of JRuby. But JRuby is used by a lot of big shops. You also have the matter of GVL vs GIL. MRI Ruby can execute multiple native threads at once so long as one is blocked on I/O.

2) Saying Java concurrency is a lot of boilerplate is subjective to say the least. I certainly don't have empirical data to back it up, but the concurrent APIs seem to be widely regarded as well thought out and comprehensive. "Java Concurrency in Practice" also appears to be a widely praised book. That aside, there are several concurrency libraries built on top of the concurrent APIs to make them very simple. Including a few implementations of goroutines/channels in Java.

Anyway, take it for what it's worth. But it's an early place in the book to potentially alienate readers.
brian.ketelsen (14) [Avatar] Offline
Re: Languages with Concurrency
You're not the first to be put off by my comparisons. I'll remove them and focus on the positive instead. Next update.