Good for you it feels that way to you. But then you need to check how the LLM refactored stuff. Because (a) you never know if it's actually correct and (b) the code needs to be maintained into the future, so you need to know how it works and be able to fix bugs in it. And then you are suddenly spending a lot more time understanding someone else's code, someone you can't discuss the 'why' of the code over a coffee with. Of course the same goes for library code but to me understanding bugs in a library (and reporting/fixing them) feels more useful than understanding the one-off output of an LLM. And for a library the coffee part might not fly, but at least you can discuss stuff with the original author(s). I'm not saying my feeling is the absolute truth, it's very subjective.
I guess mechanics must feel the same about modern computerized cars, where suddenly the injection timing is no longer a mechanical gadget you can tweak by experience, but some locked down black box you don't have control over.
Also I really dislike that (for now) using an LLM means selling your soul to some dubious company. Even if you use only the free tier you still need to upload your code and let the LLM do whatever with it. If an LLM is an indispensible part of being a programmer, everybody will be held hostage by the large techfirms (even more...).
edit:
I suddenly thought of the famous aforism by Brian Kernighan:
"Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? "
I fear we will end up with programs nobody understands anymore.
With software you can check this. Have automated tests. Tests pass? Good enough.
You think it's not? Then have better tests.
> Also I really dislike that (for now) using an LLM means selling your soul to some dubious company. Even if you use only the free tier you still need to upload your code and let the LLM do whatever with it. If an LLM is an indispensible part of being a programmer, everybody will be held hostage by the large techfirms (even more...).
LLMs should replace tasks, not jobs.
Use this bubble of practically free LLM time to build tools for yourself. Every single utility and automation you've been thinking of can be built in minutes, permanently.
If you build something that uses a cloud LLM, build it so that you can switch it to use a local model at any point. Even if the bubble bursts one way or another, the local models will still be there.
idk. its pretty easy to look over the diffs and catch the worst of stuff. a few things do slip through bug i dont find it hard to scour over the code, bad stuff stands out or is easy to grep.
I guess mechanics must feel the same about modern computerized cars, where suddenly the injection timing is no longer a mechanical gadget you can tweak by experience, but some locked down black box you don't have control over.
Also I really dislike that (for now) using an LLM means selling your soul to some dubious company. Even if you use only the free tier you still need to upload your code and let the LLM do whatever with it. If an LLM is an indispensible part of being a programmer, everybody will be held hostage by the large techfirms (even more...).
edit: I suddenly thought of the famous aforism by Brian Kernighan: "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? "
I fear we will end up with programs nobody understands anymore.