As people flock to become programmers, as a population we will become increasingly technologically literate. Sooner or later we will enter an age where programming is as second nature as writing. Communication at the end of the day is a way to get people to understand what we want. Programming is very similar only directed at machines, and as machines continue to replace people in trivial (and not so trivial) tasks, that will be the lingua franca. And yes, it will be javascript.
I think you have a biased outlook, to be honest. For every handful of programmers I know, I know at least 100 others who maybe can barely use their computer besides basic apps.
Programming is still not intuitive (nor enjoyable) for the vast majority of people, and I believe it will stay that way.
I look at how much time (and Friday nights) I sacrificed to get into programming and think life is too short for everyone to be a programmer.
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.
Agreed, I think programming as a skill will follow a similar arc to automotive engineering.
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.
Cheap tyre iron included with your vehicle vs nuts over-tightened with commercial pneumatic wrench ... it's not that unlikely that the tyre-iron breaks. If it doesn't you may be unable to loosen the nuts. It's pretty reasonable to call out a mechanic.
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.
I don't want it to change by much. Yes we need more programmers, but we also need more doctors. It is not practical to become a great doctor and a great programmer.
Those are but two of that millions of different jobs that are required for modern society to function.
> It is not practical to become a great doctor and a great programmer.
> Those are but two of that millions of different jobs that are required for modern society to function.
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.
I think the vast majority of people isn't even aware that programming is a thing. Back when computers used to present people with a BASIC prompt, people had a better chance of finding out about it and getting into it.
These days more people know about it in general because of the high salaries programmers earn. So in time I can see it becoming somewhat similar to wanting to be an engineer, doctor, or lawyer. Except those fields may more accessible even in the future.
I'd say it's the opposite, just like everyone has a car but barely anyone could do the most basic maintenance on it. This is arguably getting worse in every sector because of increasing complexity. (trade off for increasing convenience, as usual)
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.
Valid counterpoint. However, we could still be witnessing metaphorical "acne" resulting from instant communication. With no more time-delays or costs associated with communication, the threshold for what makes something worth communicating drops.
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.
Only the future will tell. Maybe it's me being pessimistic but so far tech (for the masses) is mostly used for:
- 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.
Maybe even longer. It took thousands of years from the invention of writing to everybody being able to read and write. Being a scribe was a viable career path for a long, long time. And even now, most people know how to read and write but do it rather badly. Just a few are actually good at producing and/or understanding text. I reckon the same thing is the future path for computer programming.
Lots of people are already really good programmers, they just don't know it.
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.
OK, but how many FAANG employees are top-notch plumbers or electricians (i.e. equivalent to tradesman level)? Sure, they may have the potential to develop the skill, but that is equivalent to saying that I have the potential to be a great surgeon. I probably have the dexterity for it, and I'm sure all the information is available through textbooks, but it's a facile argument.
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.
Conversely, there are a lot of really good plumbers, they just don't know it.
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.
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.
I was just trying to say that there's a lot of general skill set overlap between being a programmer and something like a plumber or electrician.
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.
But doesn't that apply to basically anything in life ?
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.
I've read the assertion that the spreadsheet is the first "programming environment" for the general population, and I like the idea. Input some numbers into 2 or more cells and the most basic function would be that the output is the sum of these numbers, displayed in another cell.
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.
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.
The population who currently struggles with its/it's and they're/their/there, basic (con)sequential logic, and even universal remotes is unlikely to become productive in anything like our current text-based languages.
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.
We thought this 20 years ago sure, but I think we have enough evidence at this point that people are going to drool on their iPad playing Candy Crush instead of hacking emacs.
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!
Yes, hence my point! I believe we will see more and more of this. Today programming is seen as a skilled art that only the few can comprehend, much like writing was back in ancient times. And so, only a programmer can effectively apply custom technology to non-technical tasks like baking.
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! :)
Why must programming be so universal? Look at the number of people who would balk at a simple task like replacing a plumbing fixture or a light fixture. This isn't implying that these people are 'stupid', it just isn't a skill that they have decided is worthwhile to learn. Changing the oil in your car isn't hard to learn, and certainly isn't filtering out the stupid, but there are just a lot of people who simply don't feel it is worth learning how to do. And programming isn't any different--it simply isn't a universal enough skill. Sure, it is essentially required to know basic arithmetic and literacy to function in a modern society, but I don't think that programming is a skill that will ever be on that level.
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.