When I was a kid, I was frustrated for most of the adults can't use the computer so our society is very inefficient at daily life. I was thinking, since our generation has affordable personal computers, when our generation become adults, the world will finally embrace the efficiency of computer where everything is computer-friendly and everyone can write code. I was wrong. The birth of so called "smartphone" made eve…
Writing code, outside of spaghetti BASIC and similar, is a full time job. It requires hours and hours of thinking and planning. People already have full time jobs, sometimes two or more. The last thing they want is another, likely unpaid one, when they come home and sit down before the computer.
Where we're headed is multi-level architectures. At the bottom is what you think of as "all programming". It's low level code, with manual deployment, using a wide range of fairly arcane tools. You need to be a professional to do it.
What is slowly emerging, which you suggest is impossible, is a layer on top of that. It is written in highly constrained code. You can't import random libraries, and you can't write spaghetti code, because you are writing in a highly constrained DSL. It's still real code. It's still a Turing machine. But you are working within a sandbox that your professional software engineering colleague built for you.
Most of us software pros don't think about development this way. We think we're supposed to be releasing finished apps to end users. But 20 years from now, we'll think of our job as releasing libraries for "non-programmers" to use. DSLs that are foolproof, which end users will string together using simple function calls and literals and nothing else. Languages in which it's very difficult to express broken ideas.
There's no reason the marketing team can't write this file:
post("miami", "Bienvenido a Miami!")
image("miami", "http://static.flickr.com...")
paragraph("miami", "We've gotten more requests for a Miami location than the rest of our...")
Well, there is a reason. It's almost certain that the programmers down the hall, like you, don't believe that a marketing professional could handle the "hours of thinking and planning" required to write that code. But again, they are all mistaken. Any smart, computer-savvy person could write that code after a few minutes of instruction.But first you'd have to build that API, and a realtime preview, that is editable from a nice simple web app. You could do the "hours of thinking and planning" so that your colleagues could write the high level business code.
That's where this is all going. There will be a lot of programmers that work inside a sandbox like that, a few hours a week. Most programmers will work like that. And there will be a smaller number of seasoned pros will maintain those sandboxes.