

Programming parallell systems vs parallell computers - globalrev

There is so much talk about concurrency and parallelism these days.<p>Well Erlang is made for concurrent systems right? Not multiple cores.<p>Clojure<p>Scala<p>What other languages are made for programming concurrency? And are they made for concurrent systems or multiple cores?<p>What are the differentiating requirements between such languages?
======
prospero
Languages that leverage shared state in their concurrency model are made for
concurrent processors. Languages or frameworks that do not are made for
concurrent systems.

~~~
globalrev
clojure disagrees? <http://clojure.org/state>

~~~
prospero
Based on that page, I'd say Clojure is pretty well suited to scale over
multiple machines. It's not an either/or thing; Erlang can work just as well
on one machine as on ten. The point, though, is that something which can run
on several machines at once is always more robust than something which can
only run on several cores at once.

The downside to the share-nothing model (which, as you pointed out, Clojure
uses) is that it potentially reduces the speed of communication between
processes on the same system. I don't think this is a problem in most cases,
but it is a consideration.

------
prakash
you forgot to mention GPU's :-)

