(c) programmers are predisposed to convincing others that programming is too complicated for "normal people" as a means of job security and achieving social status; computer manufacturers and their software-making friends are predisposed to a marketing message that states: computers are too difficult for normal people, so buy this new machine/software, which is finally the computer/software that normal people can use! together both sides form a kind of mutual ratchet imo
@aparrish agreed, although I would also analyze the teaching of programming. I always use compare with symbolic differentiation and integration of mathematical functions.
I learned symbolic differentiation easily; it's mostly a straightforward process. However, I struggle with integration as it seems like learning to identify so many patterns that are much more complex.
As they are "opposite" processes I feel they compare well with understanding execution and programming.
@aparrish I think understanding how most programs execute is relatively easy to learn, yet just like with integration, I feel we don't know well enough how to teach how to put the pieces in the right order so that when your program executes it will do the right thing.
This might be just another manifestation of gatekeeping; maybe we just haven't invested enough in figuring out how to teach programming, although there are many visible efforts to do so.
@aparrish but then we should also separate pure programming and programming in the real world; the former might be a smaller part than we think. And it's the latter where everything is hostile!
I've had many conversations that amounted to "everything is broken and our job is more about learning how to work with broken things than about building stuff". A kind interpretation would be that market pressure impedes doing things properly, another would be gatekeeping.