As I’m slowly evolving my own flavour of spec driven development, I’m starting to think about the generated code as a secondary artefact where main quality criteria is that it’s doing what it needs to and it’s covered with tests.
I guess my current analogy is that I don’t care about how readable or dry is the assembly code generated by compiler.
I have the specifications and the working code with tests. I can always regenerate it if I need to.
But. I still read the produced code, steer the design and correct the obvious blunders. No vibes.
I know a lot of people hate but this AI stuff still isn’t great but it will get better. Each generation of programming languages adds syntax and convenience. AI code will likely get to the point where it is just a higher level language. The only benefit I’m seeing is that if used very carefully I can make more complex projects with fewer team members. And where there was zero documentation there’s at least SOME documentation.
As I’m slowly evolving my own flavour of spec driven development, I’m starting to think about the generated code as a secondary artefact where main quality criteria is that it’s doing what it needs to and it’s covered with tests.
I guess my current analogy is that I don’t care about how readable or dry is the assembly code generated by compiler.
I have the specifications and the working code with tests. I can always regenerate it if I need to.
But. I still read the produced code, steer the design and correct the obvious blunders. No vibes.
Might want to read on TDD, it’s been around since last the last millennium (OK 1999 according to Wikipedia, point is, it’s not new).
I know a lot of people hate but this AI stuff still isn’t great but it will get better. Each generation of programming languages adds syntax and convenience. AI code will likely get to the point where it is just a higher level language. The only benefit I’m seeing is that if used very carefully I can make more complex projects with fewer team members. And where there was zero documentation there’s at least SOME documentation.
While noobs and managers are excited that the input language to this compiler is English, English is a poor language choice for many reasons.
Yep, it is a poor choice today.
Like all things, it will likely improve. I see a world where a pseudo-code format and some standard start to form.
Until then, it is the wild west, and I fear some people may die from the misuse of these vibe coding tools. But they aren’t necessarily useless.