Multiple threads of execution is hard. It should stay hard.
Maybe we should rewite all multiple threads related code in Malbolge, to fend off the clueless.
There's really no way to make it easy.
I question that. I think it's not much more difficult to outline the concepts of threading and it's implications in a coherent way, than it was with fork() or exec() back in now forgotten years.
"threads" pretends to make it easy, and what you end up with are fragile programs because average dudes get in over their head.
That might be a sad fact, but I strongly disagree with leaving things impenetrable to the average dude. Remember, the Average Dude State is a transitional, even if the average dude doesn't overcome average dudeness in their lifetime. Let the average dude burn 'til enlightenment.
At least with fork, it's a pain to share things, so average dudes delegate the tricky parts to libraries that do the sharing written by smart dudes, or figure out other ways, like sharing through databases.
Plain average dudes like myself and little Joe who always was interested in how that damn thing works rip themselves up to get it, to get at their aims and do things right. The average dude which delegates the tricky part to libraries written by smart dudes is a lousy dude if he trusts just out of the wrong type of laziness. It's more apt to the smart dude to delegate, because he knows what to delegate when to whom, and he fully understands him to whom he delegates.
Maybe that's why I object to threads: it makes it too easy to get in over your head. It takes far more expertise to use threads than most people have, which is less than they think they have. {grin}
No, merlyn, I disagree, though not strongly - or maybe strongly, but orthogonal to your views.
My rules of thumb, for myself
- don't do anything seriously (at work; for others) you can't grok entirely and can take responsability for
- choose the right tools for the task at hand, don't use those tools until you understand how they work
- if you don't know which tools to use, ask for advice (which I often don't do) or figure out
- get burnt, bitten, hit and cursed as much as possible the rest of your time to prepare yourself for the next big leap of knowledge.
- "care of the cow brings furthering" as the I Ching sayeth; keep rumiating things until you forget them; the ordering of knowledge in your mind is a digestive process; don't forget to forget...
and with regard to knowledge (or personal) growth
- there's nothing more adverse to growing than anaemic sancticity
- perhaps more adverse to growing is a master's advice which binds you to mediocrity
Real expertise is directly proportional to the love for the subject. You are doing all an ill favour - given the reputation you have - in condemning the use of threads, or trying to reserve the related knowledge to The Really Clueful. Reminds me a bit of those eggheads in white pinafores in the last century...
I don't know why I get a Déjà-vu feeling with all that... may be related to an old thread I can't remeber now.
cheers,
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
| [reply] [d/l] [select] |