Fri, 08 Jan 2010 12:33:06 -0800, Walter Bright wrote: > retard wrote: >> If only 2 of the top 30 c++ experts understand concurrency models, what >> makes you think that D programming community, mostly consisting of >> novice/ hobbyist/student programmers have any better luck? > > That is why the flagship of doing concurrency in D will be message > passing, which is how Erlang, Scala, and Go do concurrency. Using > message passing will avoid any need by the user to understand sharing, > sequential consistency, and synchronization issues. > > Sharing and synchronization will be for the advanced programmer.
My point was, what makes D community members more capable of reasoning about these issues. I bet it's obvious to the top 30 C++ experts that other kinds of concurrency models exist than multi-threaded shared memory abstraction or SIMD. The problem isn't just about coming up with a model -- if it helps you in any way, go ahead and browse old academic papers. E.g. CSP was invented 32 years ago. There are message passing libs for C++, too, for instance MPI. Making the feature built-in doesn't automatically make creating concurrent applications easier. For instance message passing is harder to use than implicit parallelism and auto-vectorization when doing parallel processing in loops.
