Why do developers continue to write code by hand?
https://orchidfiles.com/why-write-code-by-hand/Open linkView original on lemmy.worldSyndicated from the fediverse. Read and engage on the original instance.
View original on lemmy.world
https://orchidfiles.com/why-write-code-by-hand/Open linkView original on lemmy.world
18 replies
I see my code, to some extent, as like a form of art. That is why I enjoy writing it myself. I've used an LLM at work and it's like babysitting a comically stupid idiot.
It is. It’s craftsmanship.
Just because it’s digital doesn’t mean it can’t be done thoughtfully.
That is, by far, one of the saddest pieces of text I have read in a while.
Don't worry too much about it. He didn't write it himself. He had his bestest (only) friend, Claude, write it for him. He didn't even read it.
On your about-page you write
Why’s that? Why don’t you use AI, but prefer to write your texts by hand?
Because AI writes soulless, bland text that no one will want to read.
There you have it, your answer.
I write my code by hand, as LLMs generate soulless, incorrect code no one will want to read but you better do as it’s full of mistakes.
LLMs generate, they don’t write. Writing is something creative, something human. Machines aren’t human, at least last time I checked.
I can't recall ever wishing the code I was reading had more soul. In fact, usually when the soul of the author shines through, it's because the code is too exciting and makes me nervous that it's overly complex. I agree LLMs are terrible at writing prose; it ends up sounding very unnatural and readability suffers. But for the code itself, more often than not, you can achieve precisely the desired result by doing a little up front discussion with the LLM about implementation strategy, plus some revision at the end.
To be clear, I'm not saying that the technology resulting from a software project should lack soul. It's obviously a great thing when the authors of an application put a lot of care into designing its UX and operational efficiency; this is an art that LLMs do poorly today. But that is pretty much orthogonal from how the code reads. There is incredible, well-designed software out there which reads as totally boring, and that's generally considered a good thing.
Also I'm not claiming that it is easy to do that; crafting boring code that still functions as intended is quite difficult. I've never seen an LLM do this without lots of hand-holding. The human touch is essential, but that doesn't imply that a person using an LLM suddenly has stunted vision and lack of aesthetic.
Because someone has to maintain it.
I love that this article was written on the 3rd of September and then on the 4th there's a new article. "Turns out, everyone hates my takes on AI"
September 6th: “Programming is Art.” and it’s 100% upvotes.
Like, literally what the top comment on this post says.
Shameless.
A couple observations on reading this (as someone who heavily uses agentic coding at work and is mostly OK with it):
to add on to the others:
Unless you are only raw productivity focused, another "legitimate" reason for using AI could be that you have many ideas you want to test and doing it all by yourself is unfeasible. But then if you have tried AI for such tasks, the longer you work on the project with an LLM the more it drifts away from your original ideas. And usually it will come up with these magical reasons to justify the path it took which may take you half an hour to understand. And quite often such discussions will end up with something like "you are right, I have overstated the problem". So in the end if you want your own vision to be at the center of the project it becomes an annoying tug of war where either each couple days you have to spend a full day to understand why and how the LLM code has drifted from your original idea or just roll with the auto mode on.
For the latter you have to setup, as explained in the article, other agents to review, vet and improve the code which results in more drift so now the project drifts away from what you want even more rapidly. It will still try to achieve the same result, but it will no longer feel like your project because it is littered with technical decisions that makes the code feel very alien. In a sense you should be ok to be the project manager of your own hobby which frankly is soul destroying and really kills any joy I get from doing it.
So even if I use AI in personal projects, it is not to output more projects at a time but to see if the robot can come up with angles that are interesting or useful to solve problems I encounter (I will confess it can, quite often). If I ask it to write code it is a slow process, since as the code grows, I take time to completely go through the code and put it in a form that is easy for me to parse and then ask the robot to make sure it achieves the same result as the previous version.
Are you using an IDE? Ewww, that's so heavy-handed. I use a text editor.
Are you using a text editor? Ewww, that's so heavy handed. I use Unix pipes to edit the files.
Are you using Unix pipes? Ewww, I use a microscopic needle to edit files on the hard drive platter.
Eventually this reaches absurdity in the other direction too. If working your AI is like wrangling cats, maybe you need to update to a newer model.
And maybe just maybe... You're asking too much of the model/VRAM combo available.
If an LLM is not the right tool for the job, that's okay too.
Well I tried writing it with my tongue, but got saliva everywhere.
I actually thought the guy meant writing pseudocode by hand on paper...turns out coding by hand means not using an LLM...end times...