That could be said about compiling higher-level languages instead of rolling your own assembly and garbage collector. It's just working on a higher level. You're a lot more productive with, say, PHP than you are writing assembly.
I architect of it and go through many iterations. The machine makes mistakes, when I test I have to come back and work through the issues. I often correct the machine about stuff it doesn't know, or missed due to its training.
And ultimately I'm responsible for the code quality, I'm still in the loop all the time. But rather than writing everything by hand, following documentation and make a mistake, I have the machine do the code generation and edits for a lot of the code. There are still mistakes that need to be corrected until everything works, but the loop is a lot faster.
For example, I was able to port our MySQL adapter to PostGres AND Sqlite, something that I had been putting off for years, in about 3-5 hours total, including testing and bugfixes and massive refactoring. And it's still not in the main branch because there is more testing I want to have done before it's merged: https://github.com/Qbix/Platform/tree/refactor/DbQuery/platf...
His language is LLM prompts. If he can check them into git and get reasonably consistent results if he ran the prompts multiple times, just like we expect from our JavaScript or C or assembly or machine code, I don't see the problem.
I knew a guy who could patch a running program by flipping switches on the front panel of a computer. He didn't argue my C language output 'is not writing a program'...
> His language is LLM prompts. If he can check them into git and get reasonably consistent results if he ran the prompts multiple times
You're joking, right? There's nothing "reasonably consistent" about LLMs. You can input the same prompt with the same context, and get wildly different results every time. This is from a single prompt. The idea that you can get anything close to consistent results across a sequence of prompts is delusional.
You can try prompt "hacks" like STRONGLY EMPHASIZING correct behaviour (or threaten to murder kittens like in the old days), but the tool will eventually disregard an instruction, and then "apologize" profusely for it.
Comparing this to what a compiler does is absurd.[1]
Sometimes it feels like users of these tools are in entirely separate universes given the wildly different perspectives we have.
[1]: Spare me the examples of obscure compiler inconsistencies. These are leagues apart in every possible way.
Does a director make a movie? Serious question. Can we say that Steven Spielberg made Jurassic Park? Can we say the George Lucas made Star Wars? Directors rarely act in their own movies, write their own scripts, operate the cameras, operate the lights, operate the mics, edit the final cuts, write the scores, play the scores, create the VFX, do the film printing or the marketing. They prompt Biological Thought Models to do those things and cobble the results together. Really nothing a director traditionally does is actually physically making a film.
And yet, I don't see a problem with saying directors made their movies. Sure, it was the work of a lot of talented individuals contributing collectively to produce the final product, and most of those individuals probably contributed more physical "creation" to the film than the director did. But the director is a film maker. So I wouldn't be so confident asserting that someone who coordinates and architects an application by way of various automation tools isn't still a programmer or "writing software"
Not to be too rude, but this looks like a bunch of 2010-style procedural PHP string concatenation spaghetti. Data mappers and ORMs are pretty much a solved problem. Why write your own as part of your platform? If you’re writing this much boilerplate to reimplement solved problems, it’s no wonder you’re able to get a lot of help from an LLM.
I architect of it and go through many iterations. The machine makes mistakes, when I test I have to come back and work through the issues. I often correct the machine about stuff it doesn't know, or missed due to its training.
And ultimately I'm responsible for the code quality, I'm still in the loop all the time. But rather than writing everything by hand, following documentation and make a mistake, I have the machine do the code generation and edits for a lot of the code. There are still mistakes that need to be corrected until everything works, but the loop is a lot faster.
For example, I was able to port our MySQL adapter to PostGres AND Sqlite, something that I had been putting off for years, in about 3-5 hours total, including testing and bugfixes and massive refactoring. And it's still not in the main branch because there is more testing I want to have done before it's merged: https://github.com/Qbix/Platform/tree/refactor/DbQuery/platf...
Here is my first speedrun: https://www.youtube.com/watch?v=Yg6UFyIPYNY