Memory Models: A Case for Rethinking Parallel Languages and Hardware
lambda-the-ultimate.org
lambda-the-ultimate.org
http://www.cs.washington.edu/homes/djg/papers/analogy_oopsla...
I think this is an interesting explanation. The software product my company makes depends on a multi-threaded program which to date has had only one bug related to the fact it is a multi-threaded application. That bug was very serious mind you but it's the only one we've found (so far).
(If the paper you want to read is behind a pay-wall, google its title and you will likely find a freely available copy.)
The idea seems to have merit, but such a phrase (staring with "if the programmer") also means that it will be diluted once it hits the programming mainstream. (Just a fact of life.)
>We discuss why this view is the best we can do with current popular languages, and why it is inadequate moving forward. [...] In particular, we argue that parallel languages should not only promote high-level disciplined models, but they should also enforce the discipline.