Listen to this: “I don’t use AI for programming, because I want to learn and get better at programming and if I have an LLM generate code for me, I’m not learning anything.”
Or this one: “I enjoy writing writing code. I enjoy writing every single line of it. I enjoy putting semicolons here, aligning whitespace there, pondering a variable name up here, and reordering these three lines to make the whole paragraph look better — I don’t want an LLM to take that away from me.”
These are paraphrased versions of some of the responses I received the last time I wrote about using AI for programming.
I get it. I love code too. I love writing it, I love modifying it, I love reading it. There’s a print-out of code hanging up on my wall here, I thought about tattooing some of it on my forearm. Some of the code out there in the world I like so much I want to lick it.
But (here it is, you knew it was coming): come on, let’s be honest here! Surely, surely not all code’s worth the reverence — right? Not all code contains a lesson and not every line is worth the intendation.
Two weeks ago I used Claude to create a 50-line Python script for me that reads in all my Register Spill posts from the Substack archive and turns them from HTML to Markdown, reading metadata from a CSV file. In the week before, I had Claude generate me an 200-line HTML/JavaScript/CSS amalgamation that lets me paste two snippets of code and in response spits out a diff in a custom format. Last week, Claude created a tiny Python web app for me that lets me browse the contents of a local folder, inspect each file, and then decide whether to chuck it into bin A or bin B. 120 lines, I think.
None of that code contained a lesson. In fact, I was happy I didn’t have to figure out how to open a CSV file in Python — I’ve done that in at least four other languages and I can’t say I enjoyed it or that I cherish the knowledge. I also didn’t want to relearn how to create a 3-pane layout in CSS for this single HTML file. Nor did I care about how to serve four endpoints in a small Python web app. I’ve written enough web apps in my life to know that I’d mostly end up being frustrated after trying to figure out how to get to the URL query params.
I also don’t care about the structure of the code and whether this should go into this function or into that one. I don’t care about its indentation either. If you had a machine that shoots whitespace at files, I’d tell you to point it at those scripts and pull the trigger until it goes click. Throw some tabs in there too, I do not care.
The code of these tiny programs and scripts is write-only. No other human — knock on wood — should have to look at it again. It’s self-contained; it has a single, temporary job; its blast radius is, at best, a folder of files that’s safely secured by git anyway.
And if I don’t care about the quality nor the whitespace then why not let LLMs write it?
There’s so much code like this to write if you can only spot the opportunities: prototypes, proofs for ideas, demos, little debug helpers, explorations and experiments. I’ll take all the help I can get.
Because here’s the best part: if I let Claude write it, I not only end up with more helper tools, but I also get to spend more time with code that I actually care about.
fundamentally disagree
This is like Napster drama. They were not in CD printing business, and we’re not in line writing business. A program is not LoC.