My thinking is this: strip out everything but my requests, tidy it up a bit, and feed it to ChatGPT in a fresh context window, and you'll (presumably) get the same Python code out, or something functionally equivalent.
It's like running early C++ code through cfront to generate a C program that is then compiled and executed as usual. Except this time, the input is not C++, it's plain English. That is not a small distinction!
For one thing, any reasonably-literate person can now get the computer to do what they want. The specification is now the program itself, a longstanding holy grail of programming. Decades of marketing hype and empty promises of "5GL" languages are now within reach.
As for maintenance, the document that is 'maintained' is the English, not the Python. When the requirements change, regenerate the output. Ideally no human ever needs to see the Python code, much less edit it. (Notice that ChatGPT isn't just generating the code from scratch, but successfully editing it.)
There is no reason to think that small random variations in the exact output code will be a showstopper. Automated test generation will be a big part of the picture, of course.
That is sort of what I mean, to be able to continuously regenerate the output in the same manner and achieve consistent results, imo, you would probably converge on something that leaves little open to interpretation - so mathematical notation or legal code.
Comments
My thinking is this: strip out everything but my requests, tidy it up a bit, and feed it to ChatGPT in a fresh context window, and you'll (presumably) get the same Python code out, or something functionally equivalent.
It's like running early C++ code through cfront to generate a C program that is then compiled and executed as usual. Except this time, the input is not C++, it's plain English. That is not a small distinction!
For one thing, any reasonably-literate person can now get the computer to do what they want. The specification is now the program itself, a longstanding holy grail of programming. Decades of marketing hype and empty promises of "5GL" languages are now within reach.
As for maintenance, the document that is 'maintained' is the English, not the Python. When the requirements change, regenerate the output. Ideally no human ever needs to see the Python code, much less edit it. (Notice that ChatGPT isn't just generating the code from scratch, but successfully editing it.)
There is no reason to think that small random variations in the exact output code will be a showstopper. Automated test generation will be a big part of the picture, of course.
That is sort of what I mean, to be able to continuously regenerate the output in the same manner and achieve consistent results, imo, you would probably converge on something that leaves little open to interpretation - so mathematical notation or legal code.