The same tired argument has been made every decade since the 70s, with mostly the same cast of characters: artificial intelligence, English somehow being used to specify the behavior, stock libraries of code, etc. I think we're about as far from it today as we were when Prolog was a big deal.
The amount of incipient complexity in programming has been growing, not going down. What's more complex, "hello, world" to the console in Python, or "hello world" in a browser with the best and newest web stack? Mobility and microservices create lots of new edge cases and complexity—do non-programmers seem particularly well-equipped to handle edge cases to you?
The problem has never really been the syntax—if it were, non-programmers would have made great strides with Applescript and SQL, and we'd all be building PowerBuilder libraries for a living. The problem is that programming requires a mode of thinking which is difficult. Lots of people, even people who do it daily, who are trained to do it and exercise great care and use great tool tools, are not great at it. This is not a syntax problem or a lack of decent libraries problem. We have simple programming languages with huge bodies of libraries. What's hard is the actual programming.
I agree. There's a never-ending stream of things (remember Klik & Play?) meant to make programming "easy for everyone" and they never manage to actually do so, because it's not possible to take away difficulty without taking away flexibility.
Well it's hard to tell; I didn't learn to code until college, but it seemed pretty natural to me because years ago I'd used KnP and Logo. It's hard to tease the causes apart---was programming easy to pick up because I had KnP, or was I only able to benefit from them because I was that kind of person?
In this case it's worse. The people who are spreading serveless everywhere argue not only that it's simpler (anyway, simpler than what?), but most of all less expensive - and that's the main reason the companies should embrace it. Both these statements are false.
It reminds me of a comment on microservices a while back.
The guy claimed that his company had "done it properly", but it required a huge upfront investment in infrastructure, setting up everything properly and keeping it running.
Wasn't the idea that they were supposed to make things simpler and cheaper?
Ordinary people (non-programmers) have been doing fairly complex spreadsheets since the 80s. My dad, a cost accountant, was born in 1934 and was a Lotus 123/Quattro Pro master by the late 80s/early 90s.
The amount of incipient complexity in programming has been growing, not going down. What's more complex, "hello, world" to the console in Python, or "hello world" in a browser with the best and newest web stack? Mobility and microservices create lots of new edge cases and complexity—do non-programmers seem particularly well-equipped to handle edge cases to you?
The problem has never really been the syntax—if it were, non-programmers would have made great strides with Applescript and SQL, and we'd all be building PowerBuilder libraries for a living. The problem is that programming requires a mode of thinking which is difficult. Lots of people, even people who do it daily, who are trained to do it and exercise great care and use great tool tools, are not great at it. This is not a syntax problem or a lack of decent libraries problem. We have simple programming languages with huge bodies of libraries. What's hard is the actual programming.
reply