← Back to context

Comment by w4yai

7 hours ago

  > we automate stuff we don't value doing, and the people automating all their code-gen have made a very clear statement about what they want to be doing - they want _results_ and don't actually care about the code (which includes ideas like testing, maintainability, consistent structure, etc)

Not necessarily. I sometimes have a very clear vision of what I want to build, all the architecture, design choices, etc. It's simply easier to formalize a detailed design/spec document + code review if everthing follow what I had in mind, than typing everything myself.

It's like the "bucket" tool in Paint. You don't always need to click pixel by pixel if you already know what you want to fill.

I don’t think the analogy holds, because the result of a flood fill in Paint is deterministic.

Whatever your design document/spec, there are generally a lot of ways and variations of how to implement it, and programmers like the OP do care about those.

You don’t have Paint perform the flood fill five times and then pick the result you like the most (or dislike the least).

  •   > Whatever your design document/spec, there are generally a lot of ways and variations of how to implement it, and programmers like the OP do care about those.
    

    You could make the same argument about compilers : whatever is the code you wrote, your compiler may produce assembly instructions in an undeterministic way.

    Of course, there are many ways to write the same thing, but the end performance is usually the same (assuming you know what you are doing).

    If your spec is strong enough to hold between different variations, you shouldn't need to worry about the small details.

    • > You could make the same argument about compilers : whatever is the code you wrote, your compiler may produce assembly instructions in an undeterministic way.

      The difference is that the compiler is bound by formal (or quasi-formal) language semantics. In terms of language semantics, you always get precisely the same result, regardless of how the compiler implements it. When you change the source code, you can reason and predict with precision about how this will change the behavior of your compiled program. You can’t do that reasoning with AI prompts, they don’t have that level of predictability.

    • > You could make the same argument about compilers : whatever is the code you wrote, your compiler may produce assembly instructions in an undeterministic way.

      Bit of a stretch, I think, because the compiler guarantees it will follow the language spec. The LLM will be influenced by your spec but there are no guarantees.

Couldn't agree more. It's also like managing a team of engineers rather than doing the coding yourself. You don't necessarily value the work less, nor do you necessarily have less technical prowess. You're just operating at a higher level.