Is concurrency hard?
Wed Nov 2 11:19:35 CET 2005
Joe Armstrong (AL/EAB) wrote:
> I'm a physicist (or at least I was - a long time ago)
> Now in physics there is no concept of sharing and no concept of simultaneity at
> a distance. We can only say that two things occur at the same time if they occur at the same place.
> In physics, light propagates through a media (called the ether) - but nobody
> knows what the ether is. In Newtonian and relativistic mechanics there is no sharing of the
> ether - everybody could use it at once.
joe must be older than he seems since the aether theory was discounted nearly
100 years ago... from wikipedia->Luminiferous_aether:
In the late 19th century the luminiferous aether ("light-bearing aether"), or
ether, was a substance
postulated to be the medium for the propagation of light. Later theories,
Theory of Relativity, suggested that an aether did not have to exist, and today
the concept is considered "quaint".
joe's point (that reality is to all intents and purposes concurrent) is of
course perfectly true.
i believe the only reason concurrency is percieved as hard is cultural;
programmers are trained to think sequentially. this in turn is because C++ is
glorified C, C is glorified assembly, and assembly is sequential because CPU's are.
so no, concurrency isn't hard. what's hard is to unlearn the habit of turning
everything into a sequential problem.
More information about the erlang-questions