3 ms·
I think there's another simpler factor: some people are just naturally better wired to think in terms of concurrency. There's a certain thinking style you brin
by unclebucknasty 13y ago
I think there's another simpler factor: some people are just naturally better wired to think in terms of concurrency.
There's a certain thinking style you bring to writing and understanding concurrent software. You need the ability to "visualize" the contexts, behavior, and data access. You need to see the possible race conditions and understand what resources need to be "protected" and how.
Reminds me of recursion. Back in my CS days, it just made some people's heads explode. They couldn't think in a nested fashion to understand what was going on at various recursion levels, nor what was required to terminate, what should be returned, etc.
Like-wise with proofs in geometry. Some people just couldn't get there. But, for those who could, it came without too much effort.
You kind of either have it or you don't. You can practice and improve, but some people just naturally "get it". So, I don't think it's as simple as "they learned the wrong approach". In fact, if they truly understood the concepts and possessed the requisite thinking style, they would be able to identify the "wrong approach", and the right one.