> Of course the spec isn't complete, if it were complete, it would cover every edge case and be as complex as the code.
Fair, but triggering nonetheless because I've definitely seen this argument used as an excuse for why there was basically no spec aside from "an iPhone app used to rate beer" and that there is some kind of value in such a contribution that couldn't otherwise be found by pulling in random strangers from the street and asking them about cool things they wished that computers could do.
If that's the case, then the spec is code. And this isn't the first time something like that has happened: people who write assembly might say to someone writing Python, "How can you call that code when you don't even know which register is storing a value?"
I think at some point this will stop being true. Obviously people displaced from jobs in the industrial revolution found other work, but at some point we can't expect the bottom 10% of a population (in terms of ability to perform non-menial jobs) to do "higher value" work.
I don't say this in any disparaging way and I am not in any way demeaning them or suggesting they don't matter. But they don't necessarily fit into society's expectations for "higher value" work.
Bottom line is, AI and automation can cause short term pain, but the upside is enormous. Successful countries will be those that can manage that transition.
This sounds great in theory, and I fully agree, but the system of compensation and wealth distribution will need to be turned upside down for that to happen.
The value created by current and future automation will somehow need to be captured and distributed to people whose financially profitable jobs are going to be replaced with unprofitable, but socially-beneficial work, there's really no way around it. Those people will still need to be fed, housed and have access to at least basic luxuries.
Furthermore, what do we do in a future "ideal" world where robots and AI are capable of providing basic necessities to sustain every human alive? Capitalism would likely break down one way or another, with branching paths that either take us to an utopia or a nightmare dystopia.
My concern is for people like my son who has autism. He has a job at the airport slinging bags into and out of planes. It is a job he enjoys because he likes transportation (trains, planes, etc.) Realistically, it is a job that is at the very top of the limit of his abilities. If an AI robot took over his bottom tier job, he would not be freed up to bring value higher up the value chain. He would probably become homeless if we were not around to support him.
I remember a long time ago Joel from Joel on Software made a post/comment (I can't find it, so it must have been a comment) about how the hard part of programming is interpreting the spec into code, and that programmers often get mad because the "spec isn't complete". Of course the spec isn't complete, if it were complete, it would cover every edge case and be as complex as the code. If you could have AI turn a spec into code, then the real intelligence goes into writing the spec to cover the complexity.
It's ok if AI can generate boiler plate for functions or even regurgitate leet code solutions (heck, I gave it the typical "coding challenge" we use here as our first filter and it did a good job). The real intelligence in development is to know what algorithm you want to use for your current problem.
So to me ChatGPT isn't that big of a deal. It does some neat things, and it may make some jobs redundant, but I don't see how it could replace the real value that humans bring to a problem. It may keep replacing the bottom tier workers, but that just frees people up to bring value higher up the value chain.