I dunno I type a whole bunch of shit into a computer and software comes out the other end. The experience of doing the work hasn’t changed much but I get better software more quickly.
The main thing that matters is who takes responsibility for it. And the other thing is honesty, e.g. "I made this myself" vs "I made this with the help of AI". I'm a bit precious about that though, like, I wouldn't really care if someone used vim or emacs to write code not long ago - the tools didn't matter.
If you are asking if the machine translated from one language to another for him, the answer is essentially guaranteed to be yes. Inputting raw machine code hasn't been the norm since the 1950s.
I wonder if there is something like translation party, only for compilers and LLM respectively. There should be!
I.e. some source code gets compiled, the output gets decompiled again, the result gets compiled again, and so on.
Now do the same with LLM: start with a prompt, it generates a program. Then an LLM examines that program by looking at the source, running it, etc., and is tasked to describe it, i.e. turn it into a prompt again. Then that prompt is used to generate a program, which is examined and turned into a prompt again, and so on.
Compilers and assemblers are not the same either, but the human experience is the same in all cases: You input one language into the machine and another language comes out. Implementation details are immaterial.
That is because you only look at one hypothetical experience, in a vacuum, not the continued experience. In other words, removing the dimension of time, and the fact that you get wildly different output for the same input with LLM, not so for compilers.
It's like a light switch where the light has a slightly different colour every time you turn it on, sometimes the colour is very different, and sometimes it emits bursts of heavy gamma radiation. And the argument is "you flick a switch, and what you perceive in that room changes, it's the same experience." (which is a neat way to put it, because it's true even when you get evaporated by the gamma radiation burst)
That this isn't "the same kind of tool" than just a light switch and a bulb isn't even an interesting conversation to have. Of course it's not, not even close. A piece of string is not a steel rod just because you can stretch it out, take a photo of it, and play pretend.
So the really interesting bit to me is that this level of argument is even made. It's nonsense, but if the nonsense gets repeated often enough, maybe the people refuting it can be exhausted and then we can replace concrete with pudding, right? Not that this is your intent, but this stuff just feels like the thing you'd hear in a digestive tract, not at a table between peers.
> and the fact that you get wildly different output for the same input with LLM, not so for compilers.
Quite so. It is true that most compilers allow you to opt in to reproducible output, but it is generally not the default [iirc, gc is the only mainstream compiler that makes always reproducible output a design requirement]. There are advantages to not have to worry about reproducible output, like performance gains in allowing threads to run in any order. Of course, LLMs equally enable you to opt into reproducible output (temperature=0). Implementation details are immaterial. The human experience is always the same: Input one language, out comes another language.
> So the really interesting bit to me is that this level of argument is even made.
Yeah, it stems from a lack of base understanding of the technology. The "a compiler is deterministic but AI isn't" is always at the heart of the argument, but it isn't even true. Implementation details are immaterial, but when you don't understand the implementation it stands to reason that one would want to focus on that facet in order to learn more about it. Hey, that’s what discussion is for: to learn.