as the multithreading is no more experimental I dare to bring a subject to the Julia community attention.
For decades, parallel computing have been a specialist niche. Nowadays parallel computers are everywhere and using them properly is a question for every programmers.
The problem is that explicit parallel programming is very hard and specially dangerous when using explicit thread management. I will avoid to relate major project disasters I have witnessed in my career but believe me, heisenbugs and more generally random bugs can be true nightmares.
Although the Julia documentation is explicit about possible data races, I believe that it should be even more explicit about the risks taken by beginners when they use threads.
Even for experienced programmers, tools for inspecting possible data races are useful (e.g. Intel inspector for AOT languages).
I wonder is such tools (packages ?) Could be developed for Julia Threading. I also wonder if future Julia evolution (2.0?) Could include language constructs to enable safer MT programming. For example I now that functional parallel languages (e.g. erlang) may increase the safety of programs.
What is the Julia community opinion on this topic ?