True in some regards, however the word completion in my IDE is only active when I’m typing new code in, it only picks words that already exist in the code (along with language specific keywords, etc). It never types the following word for me, and I have to manually accept the completion I want. It is inactive when I’m typing comments in, and so on.
The LLM you tell to write you a function, and it writes the whole thing, comments and all. It’s not quite the same. The original GitHub Copilot was closest to traditional IDE completion though, and there if it wrote a whole long function for me I’d definitely give credit where it’s due.
It’s a different workflow, but all LLM does is just more automation. The intention and the ideas still come from the developer, just because the tool automates the work of typing out code doesn’t really change anything. Nobody who’s done any serious software development thinks that typing code is the important part of coding.
The LLM can come up with all the implementation details and such by itself, while the developer only provides wishes for new features. Figuring out where to draw the line between it just being fully “vibecoded” or being code the developer would have written manually is super hard, so why not just always say if LLM generated the code? What’s the harm in that?
Anybody who’s actually worked with these tools knows that you absolutely can’t just provide wishes for features and end up with anything remotely resembling quality code. And telling whether a human was involved in writing the code or not isn’t hard at all because LLM written code always looks like shit.
The harm in focusing on the tool rather than the code is pretty obvious. Doing so dilutes the responsibility of the developer, since now they can say the LLM introduced a bug or made a bad decision. When the ownership rests with the human, then they are responsible for the code and what it does. How the code was produced is also completely irrelevant, Either the code is clean and it does what it says or not. Nothing else actually matters.
Or you could just shame them for not checking the output. People should never be get to freely deflect all blame to the LLMs, that’s just stupid and the fact it happens is complete brainrot caused by these things.
Hence, why discussion of whether LLMs were used or not is actively harmful. If you focus on the code and its quality then the whole problem goes away entirely. The person is responsible for the code and what tool they used is irrelevant. Your approach creates a whole new problem that didn’t exist in the first place.
My thought is to not focus on whether they used the magic generator or not. My thought is to know who or what produced the code. Since I think it’s important to know where code comes from. Especially if dealing with projects that don’t want any generated code. Obviously the kernel isn’t one of those but still.
True in some regards, however the word completion in my IDE is only active when I’m typing new code in, it only picks words that already exist in the code (along with language specific keywords, etc). It never types the following word for me, and I have to manually accept the completion I want. It is inactive when I’m typing comments in, and so on.
The LLM you tell to write you a function, and it writes the whole thing, comments and all. It’s not quite the same. The original GitHub Copilot was closest to traditional IDE completion though, and there if it wrote a whole long function for me I’d definitely give credit where it’s due.
It’s a different workflow, but all LLM does is just more automation. The intention and the ideas still come from the developer, just because the tool automates the work of typing out code doesn’t really change anything. Nobody who’s done any serious software development thinks that typing code is the important part of coding.
The LLM can come up with all the implementation details and such by itself, while the developer only provides wishes for new features. Figuring out where to draw the line between it just being fully “vibecoded” or being code the developer would have written manually is super hard, so why not just always say if LLM generated the code? What’s the harm in that?
Anybody who’s actually worked with these tools knows that you absolutely can’t just provide wishes for features and end up with anything remotely resembling quality code. And telling whether a human was involved in writing the code or not isn’t hard at all because LLM written code always looks like shit.
The harm in focusing on the tool rather than the code is pretty obvious. Doing so dilutes the responsibility of the developer, since now they can say the LLM introduced a bug or made a bad decision. When the ownership rests with the human, then they are responsible for the code and what it does. How the code was produced is also completely irrelevant, Either the code is clean and it does what it says or not. Nothing else actually matters.
Or you could just shame them for not checking the output. People should never be get to freely deflect all blame to the LLMs, that’s just stupid and the fact it happens is complete brainrot caused by these things.
Hence, why discussion of whether LLMs were used or not is actively harmful. If you focus on the code and its quality then the whole problem goes away entirely. The person is responsible for the code and what tool they used is irrelevant. Your approach creates a whole new problem that didn’t exist in the first place.
My thought is to not focus on whether they used the magic generator or not. My thought is to know who or what produced the code. Since I think it’s important to know where code comes from. Especially if dealing with projects that don’t want any generated code. Obviously the kernel isn’t one of those but still.
There’s nothing magic about LLMs, but I think we’ve said everything there is to say here, and we’re just going in circles now.