Programming is still not intuitive (nor enjoyable) for the vast majority of people, and I believe it will stay that way.
I believe Marvin Minskey was quoted in "The Dream Machine":
> Computers may be a bicycle for the mind, but most peoples mental output is zero. 0 * x is still zero!
https://nodered.org/ offers a drag and drop environment, although indeed the general public would not understand the nodes ("TCP, mqtt, websocket?"), if they could make it more general it would be "easy" to make branches, which is what an if-else-statement is.
For this flocking to happen, it's going to look more like a spreadsheet, block language (Scratch-esque), or Hypercard type system than a text language. Even there, I don't expect it to become a mainstream activity.
Early on it was highly specialized, but from the 50s-80s it was generally expected that you knew how to maintain your car and would do the basic jobs yourself (oil, tires, maybe even filters). But now? A lot of people now would even call out AAA to change a wheel.
Those are but two of that millions of different jobs that are required for modern society to function.
Familiarity is not knowledge.
I'd even say that technology sets us back because know we're all thinking we're much smarter than we are, I can google any issue I have and find an answer with minor brain usage. I don't need to know how basic orientation skills because I have google maps, etc ...
It's a nice tool for sure, but the only "second nature" we're getting is the "second nature" of googling anything that take us more than 5 seconds of brain time.
I lived without a phone for a few weeks (unwillingly) and I was surprised about how little of my daily life I could still do without frictions.
The only lingua franca I see coming is emojis and memes, not programming languages. That's a nice example of tech worker echo chamber / over optimism / bubble though.
In the future, programming will be more accessible, and potentially be so common and part of the upbringing of children that anyone will be able to program simple things they need.
I also see the counter-argument that this is utopian and people will just get more and more stupid. But one can only hope it is not the case! :)
I know a few people who are really good plumbers, electricians and general contractors. Basically, they can see a problem and have the skills to break it down and then create a solution.
None of them can type very well and barely know how to use the internet but I bet if they focused on learning the basics of computers they would end up being top notch programmers.
What I'm speaking of is not 20 years from now, but 500. When we've moved past the banal, when people have assimilated instant communication but have also learned the preciousness of time and the negative long term effects of information overload. In a way, a bit like how we quickly moved past custom ringtones, but on a much grander scale. Programming is relatively novel nowawadays. It won't be in 500 years, it will just be like a hammer.
Some people enjoy their craft (or don't want to sit at a desk all day), in the past few decades programming became really hyped but it's not some kind of goal everyone should try to attain.
At some point we'll have to stop with that "technology can and will solve everything" mentality.
And I don't see why programming has to be the ubiquitous pipedream over any other field, like philosophy. Of course, the main issue is that everyone is different and only a fraction of people are going to have an interest at all in a given niche.
The majority of people can't even do something that is universally uncontroversially good for them like exercise or stay a healthy weight. So I always thought it was funny to think that we'll all sing kumbaya over something that requires effort but with even less global appeal like programming.
- making money through ads.
- enabling people to live their shallow ego trips on fb / ig / whatever is used these days. (influencers, &c.)
- drown people in endless entertainment to make their work/sleep cycle tolerable.
None of this is helping society is a whole, but, sure we have nice electric cars 90% of the population can't afford and we'll soon send rocket to Mars.
Do we need $2.6k foldable phone ? pizza delivery drones ? same day delivery ? slaves delivering food through apps like deliveroo ? Is that the best we can do with tech today ? Or is it just enabling our mindless consume / produce cycle with no end goal ? For every meaningful tech advance we have 10 startups raising millions to press a fruit bag [0] or be a rental agency [1]. It's like a sad and lame black mirror episode.
[0] https://www.theguardian.com/technology/2017/sep/01/juicero-s...
It may trend that way for programmers. There's always the time-trusted argument to use a technology that "everyone else knows because maintainability," and often that's going to mean javascript (or whatever language the squeaky wheel likes the best).
But for the general population? I doubt it. We were told, 30 years ago, that everyone needed to learn how to program computers to compete in the economy of the future. That future is here and the majority of people I know aren't interested in learning how to program and don't need to.
Who said anything about being a great programmer? We have great writers, and believe me I'm not one, it doesn't stop all of us from gaining quite a bit from writing.
I'm not a native English speaker, I talk french. I'm far from great in linguistic, I'm not even great in English (my accent is atrocious and I require quite a bit of pause when I speak). Yet here we are and we both profit from me using that skill with you.
My sister has a criminology degree and one of her required class was SQL. She isn't a great programmer, yet she was able to use that skill to do more.
Personally I'm pretty sure programming should/will become a basic skill everyone will have. It doesn't means everyone will be great at it, it doesn't means it will fill every needs, but I believe almost everyone can gain from it. How many time have we used algebra in our daily life, I can count it without any hands for pretty nearly everyone ;) yet we all learn it. There so many time though that I saw people do repetitive tasks, that could be automated so easily on a computer, yet we don't learn that at school.
Not everyone will become full time programmer, but almost everyone can profit from that skill.
In 10 years, Javascript will be as old and forgotten as Perl or (classic) ASP.
If you're doing anything complicated you have to wrangle the vehicle computer.
I expect you're right, computers will get more complex, more proprietary, less open, less likely to use open standards, companies will do more to prevent users adapting or repairing them.
There's a reason why they didn't be come a plumber.
There's a reason why they didn't become a programmer.
I think this thread greatly overestimates people's desire to do things themselves rather than just consume the products of other people's labor. There are a million things in my own life that I could do but don't.
It's mostly breaking down problems, having a general curiosity on how things work and being able to read documentation. The only real difference between an electrician and a programmer is the context of how they apply those skills.
If someone can't even type well, that alone adds what, 80-120 hours minimum of learning just the basic skill alone to get to a level where they can focus on programming without having to focus on input. Specialization exists for a reason, there just isn't the time to learn everything. And the time investment to learn a trade is ~equivalent to the amount of time to learn to program.
Maybe that argument could apply to typing, but I'm not sure that even the ability to use a keyboard will be that kind of universal required skill in my lifetime.
Everything is about will + tools + problem solving skills. From building a house to fixing a bicycle, building a shelf, fixing an old SLR, &c. I'd even argue that building/fixing material things is more rewarding than programming in general.
The only difference is that current society chose to reward average developers much more than average workers in other industries (good pay, flexible working hours, free snack, job security, &c.). But to me the average developer is not more important than the average trashman or electrician, quite the opposite.
A lot of tech workers are not much more than assembly line workers from back in days, spitting out barely maintainable code found on stack overflow, using tools they understand only on a superficial level (framework, DBs, &c.).
Again, familiarity is not knowledge. We have to stop romanticising our profession as if it was some kind of holy grail, for most people it's just a (good) way to bring money home. Most developers are not revolutionising anything, most are not working on anything meaningful, most are easily replaceable, most don't care that much about what they do, just like everywhere else.