You can hardly get online these days without hearing some AI booster talk about how AI coding is going to replace human programmers. AI code is absolutely up to production quality! Also, you’re all…
Write a concise function that takes these inputs, does this, and outputs a dict with this information.
But so often it wants to be overly verbose. And it’s not so smart as to understand much of the project for any meaningful length of time. So it will redo something that already exists. It will want to touch something that is used in multiple places without caring or knowing how it’s used.
But it still takes someone to know how the puzzle pieces go together. To architect it and lay it out. To really know what the inputs and outputs need to be. If someone gives it free reign to do whatever, it’ll just make slop.
That’s the problem, isn’t it? If it can only maybe be good when used narrowly, what’s the point? If you’ve managed to corner a subproblem down to where an LLM can generate the code for it, you’ve already done 99% of the work. At that point you’re better off just coding it yourself. At that point, it’s not “good when used narrowly”, it’s useless.
It’s a tool. It doesn’t replace a programmer. But it makes writing some things faster. Give any tool to an idiot and they’ll fuck things up. But a craftsman can use it to make things a little faster, because they know when and how to use it. And more importantly when not to use it.
The “tool” branding only works if you formulate it like this: in a world where a hammer exists and is commonly used to force nails into solid objects, imagine another tool that requires you to first think of shoving a nail into wood. You pour a few bottles of water into the drain, whisper some magic words, and hope that the tool produces the nail forcing function you need. Otherwise you keep pouring out bottles of water and hoping that it does a nail moving motion. It eventually kind of does it, but not exactly, so you figure out a small tweak which is to shove the tool at the nail at the same time as it does its action so that the combined motion forces the nail into your desired solid. Do you see the problem here?
(if you persist to stay with this dogshit idiotic “opinion”:) please crawl into a hole and stay there
fucking what the fuck is with you absolute fucking morons and not understand the actual literal concept of tools
read some fucking history goddammit
(hint: the amorphous shifting blob, with a non-reliable output, not a tool; alternative, please, go off about how using a php hammer is definitely the way to get a screw in)
There’s something similar going on with air traffic control. 90% of their job could be automated (and it has been technically feasible to do so for quite some time), but we do want humans to be able to step in when things suddenly get complicated. However, if they’re not constantly practicing those skills, then they won’t be any good when an emergency happens and the automation gets shut off.
The problem becomes one of squishy human psychology. Maybe you can automate 90% of the job, but you intentionally roll that down to 70% to give humans a safe practice space. But within that difference, when do you actually choose to give the human control?
It’s a tough problem, and the benefits to solving it are obvious. Nobody has solved it for air traffic control, which is why there’s no comprehensive ATC automation package out there. I don’t know that we can solve it for programmers, either.
My opinion is it can be good when used narrowly.
Write a concise function that takes these inputs, does this, and outputs a dict with this information.
But so often it wants to be overly verbose. And it’s not so smart as to understand much of the project for any meaningful length of time. So it will redo something that already exists. It will want to touch something that is used in multiple places without caring or knowing how it’s used.
But it still takes someone to know how the puzzle pieces go together. To architect it and lay it out. To really know what the inputs and outputs need to be. If someone gives it free reign to do whatever, it’ll just make slop.
That’s the problem, isn’t it? If it can only maybe be good when used narrowly, what’s the point? If you’ve managed to corner a subproblem down to where an LLM can generate the code for it, you’ve already done 99% of the work. At that point you’re better off just coding it yourself. At that point, it’s not “good when used narrowly”, it’s useless.
It’s a tool. It doesn’t replace a programmer. But it makes writing some things faster. Give any tool to an idiot and they’ll fuck things up. But a craftsman can use it to make things a little faster, because they know when and how to use it. And more importantly when not to use it.
yawn
“it’s a tool” - a tool
The “tool” branding only works if you formulate it like this: in a world where a hammer exists and is commonly used to force nails into solid objects, imagine another tool that requires you to first think of shoving a nail into wood. You pour a few bottles of water into the drain, whisper some magic words, and hope that the tool produces the nail forcing function you need. Otherwise you keep pouring out bottles of water and hoping that it does a nail moving motion. It eventually kind of does it, but not exactly, so you figure out a small tweak which is to shove the tool at the nail at the same time as it does its action so that the combined motion forces the nail into your desired solid. Do you see the problem here?
(if you persist to stay with this dogshit idiotic “opinion”:) please crawl into a hole and stay there
fucking what the fuck is with you absolute fucking morons and not understand the actual literal concept of tools
read some fucking history goddammit
(hint: the amorphous shifting blob, with a non-reliable output, not a tool; alternative, please, go off about how using a php hammer is definitely the way to get a screw in)
There’s something similar going on with air traffic control. 90% of their job could be automated (and it has been technically feasible to do so for quite some time), but we do want humans to be able to step in when things suddenly get complicated. However, if they’re not constantly practicing those skills, then they won’t be any good when an emergency happens and the automation gets shut off.
The problem becomes one of squishy human psychology. Maybe you can automate 90% of the job, but you intentionally roll that down to 70% to give humans a safe practice space. But within that difference, when do you actually choose to give the human control?
It’s a tough problem, and the benefits to solving it are obvious. Nobody has solved it for air traffic control, which is why there’s no comprehensive ATC automation package out there. I don’t know that we can solve it for programmers, either.
ah, as narrowly as I intend to regard your opinion? got it