[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: The future of CSP? (OO & CSP)

Doug Lea wrote:
> There is no "API" in the JMM JSR. It is a collection of rules
> surrounding compilation and execution, along with their consequences
> for Java-level semantics. 

Oh, yes, you are right. I was referring to the Real-Time Specification for
Java (JSR1) which describes an API for a (RT) JMM. 

>                          Machines, especially SMPs, have gotten
> substantially more complicated over the past decade (caching,
> out-of-order execution, CPU-level parallelism, etc).  Unless you'd
> like concurrent programs to be well-defined only on the kinds of
> machines they made a decade ago, such rules appear necessary.  (Said
> differently: The notion that "sequential" computation is purely
> sequential is now false.)  

If you are referring to "parallel" execution pipelines then I disagree. A
sequential program will always be a sequential composition that does behave
sequentially. Parallel computations improve the performance of a sequential
composition, but the "sequential" program always inherits all the
disadvantages of a single thread of control. Parallel computations are just
another way of decreasing instruction cycles, like increasing the clock
frequency of the CPU. Further improvements can be achieved using "parallel"
programs (architectures).

CSP was a decade ago ahead of its time and CSP is still modern. Hmm, or
maybe CSP is still ahead of its time. 

>      But in CSP-style applications, only those
> people implementing message-passing primitives etc will need to deeply
> understand these rules. Similar comments apply to other styles.

I agree and I hope this (RT) JMM stuff is not meant for the average (RT)
Java programmer.

You should see CSP as a "glue logic" of many disciplines in computer
engineering. CSP is developed to allow us to building software and hardware
in a reliable, robust, reasonable, ...., way :-). CSP provides complexity
management in an elegant way. We should not ignore CSP, but we should see
CSP as a welcome addition to modern technology. 

This may sound very religious, but I don't see this that way. I only want to
express (in my poor English) that there are things, like CSP, in this world
that are meant to help us.