On Wed, Nov 23, 2011 at 12:23 PM, Kevin Wright <[email protected]>wrote:

> Case in point, the disruptor pattern achieves some amazing performance
> metrics through use of shared mutable state, as do certain lock-free
> algorithms and software transactional memory.
>
> Are these solutions that we want to categorically rule out of a
> programming language?
>

Agreed, mutable state is important for a bunch of reasons, but mostly
performance. There are two concepts in tension: you can either have very
high performance (with mutable state) or parallel code that might be easier
to reason about (with immutable state). Notice I said "might" here because
there are other factors that can make even 100% immutable parallel code a
nightmare to debug (e.g. very high asynchronicity, which the actor model
tends to encourage).

Both Java and Scala are in a good place here because they allow both types
of control.

-- 
Cédric

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to