Why do developers continue to write code by hand?

a month ago by neorchid to c/programming

Imagine you need to write a long piece of text that requires you to think things through, gather information, and analyze it. Then you have to write the text itself, proofread it, correct any errors, and refine the wording. Let’s say you spend 10 hours on this task. Now
ExtraMedicated 42 points a month ago

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.

path: 0 25657492, hotness: undefined, score: 42, children: 1
calliope 22 points a month ago

It is. It’s craftsmanship.

Just because it’s digital doesn’t mean it can’t be done thoughtfully.

path: 0 25657492 25658232, hotness: undefined, score: 22, children: 0
tribut 40 points a month ago

That is, by far, one of the saddest pieces of text I have read in a while.

path: 0 25656397, hotness: undefined, score: 40, children: 1
01189998819991197253 8 points a month ago

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.

path: 0 25656397 25697197, hotness: undefined, score: 8, children: 0
nathan 29 points a month ago

On your about-page you write

I don’t use AI when writing or editing my texts.

Why’s that? Why don’t you use AI, but prefer to write your texts by hand?

path: 0 25656363, hotness: undefined, score: 29, children: 5
neorchid -22 points a month ago

Because AI writes soulless, bland text that no one will want to read.

path: 0 25656363 25656603, hotness: undefined, score: -22, children: 4
nathan 34 points a month ago

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.

path: 0 25656363 25656603 25657121, hotness: undefined, score: 34, children: 3
tatterdemalion 4 points a month ago

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.

path: 0 25656363 25656603 25657121 25668268, hotness: undefined, score: 4, children: 2
Cryxtalix 1 point a month ago
path: 0 25656363 25656603 25657121 25668268 25670362, hotness: undefined, score: 1, children: 1
MonkderVierte 22 points a month ago

Because someone has to maintain it.

path: 0 25658547, hotness: undefined, score: 22, children: 0
Solemarc 13 points a month ago

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"

path: 0 25669726, hotness: undefined, score: 13, children: 1
calliope 4 points a month ago

September 6th: “Programming is Art.” and it’s 100% upvotes.

Like, literally what the top comment on this post says.

Shameless.

path: 0 25669726 25698551, hotness: undefined, score: 4, children: 0
annoying_cyclist 6 points a month ago

A couple observations on reading this (as someone who heavily uses agentic coding at work and is mostly OK with it):

  • Maybe I'm weird, but I don't find "we always plan the implementation and make decisions first, and only then do we write the code" to describe my work style that well. If I don't know how I want something to look, I will frequently just start writing whatever code comes to mind about that something. Most of the code will suck, and I'll probably throw much of it away, but I find that it's often a much more efficient way to get to a design that I like than sitting and debating tradeoffs in the abstract. Me writing the code might be slower than an agent writing the code, but that misses the point of the exercise: me writing the code is a way for me to build my own understanding of the problem.
  • The text translation analogy at the beginning is illustrative, I think. A piece of writing has information, but also elements of the author's wit, humor, tone, their assumptions about us as readers, and the cultural frame they write within. Good writing combines all of those things in an appealing way. At some basic level translation is about translating words correctly, but "correctly" there does a lot of work. It can be very hard to translate a work from one language to another without losing those less obvious characteristics (wit, tone, etc) that make it appealing, especially if you're translating (e.g.) idioms or slang that don't have a clear counterpart in your destination language. This is probably familiar to folks who read authors who've been translated outside of their native language: the right (or wrong) translator can have a huge impact on what you experience while reading. That's not a bar we hold for all text (we've all seen very poorly translated manuals for cheap consumer electronics that are nonetheless fine because we can figure out what they're trying to say), and similarly isn't a bar that holds for all code, but there is some code where the nuances that automatic translation misses are actually important, and where a human touch is useful.
path: 0 25670741, hotness: undefined, score: 6, children: 0
neck_toe_raw_ray 5 points a month ago

to add on to the others:

  • writing the code can surface problems, hurdles, and/or challenge assumptions that may impact whatever acceptance criteria we were aiming for
  • assuming we're still talking about writing code for humans to read/maintain - if the code you would've written is literally the same code the machine would've generated, I'd say there's room for improvement
  • paraphrasing, but "just lie down and accept it" is not in my spirit
path: 0 25670261, hotness: undefined, score: 5, children: 0
Gsus4 4 points a month ago

I actually thought the guy meant writing pseudocode by hand on paper...turns out coding by hand means not using an LLM...end times...

path: 0 25672419, hotness: undefined, score: 4, children: 0
Avicenna 4 points a month ago

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.

path: 0 25656866, hotness: undefined, score: 4, children: 0
DarkMetatron 2 points a month ago

Well I tried writing it with my tongue, but got saliva everywhere.

path: 0 25670873, hotness: undefined, score: 2, children: 0
ATS1312 2 points a month ago

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.

path: 0 25668667, hotness: undefined, score: 2, children: 0
Shaye 1 point a month ago
path: 0 25655707, hotness: undefined, score: 1, children: 0
programming
programming

@programming.dev

login for more options
28819
3721
3327

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev


go to feed...