Many programmers are rejecting AI coding because they miss the challenge they enjoy getting from conventional programming but this author finds it even more challenging. Or perhaps challenging in a different way?
Many programmers are rejecting AI coding because they miss the challenge they enjoy getting from conventional programming but this author finds it even more challenging. Or perhaps challenging in a different way?
I suspect that the type of programmer who enjoys vibe coding is the latter. For me it's pretty tiring to explain everything in excruciating detail, it's often easier to just write the code myself rather than explain in English how to write it.
It feels like I am just doing the hard part of programming all the time - deciding how the app should work and how the code should be structured etc, and I never get those breaks where I just implement my plan.
I think in code and programming concepts when I am writing software . I don't really know how to explain that, but I don't often feel like there is any friction between my thoughts and the code I make
I think that many coders do not have this. They have an extra "translation" step that introduces friction into their workflow
I don't experience this friction, so LLM coding introduces new friction that I don't like
They do experience this friction, so LLM coding doesn't introduce new friction for them, it may transform their previous friction into a new form that is easier for them to navigate
I don't know. Maybe I'm talking out my ass, this is just a random theory based on no real evidence
It's not really that I think in code. It's more like code is as much as a language to me as writing english, or holding the pencil to draw something. I got a change request, or I read something from the docs, and the the mental concept I have realign itself to the new knowledge. Getting code out is always effortless. There's no difference between
return the list of names of all the books that have the fantasy tag
And return books.filter(b -> b.tags.contains('fantasy')).map(b -> b.name)
If I can describe something, I can code it.More or less just that there is little to no friction for me to think a thought and write the code compared to "translating" the thought into code
i.e. function to calculate things, just write it; want to plot some data, vibe it. I can see immediatly if its not quite right and in a line can ask for the change i needed, zero cognitive effort required to fix issue, and hey presto, we have what we want.
i think this stems from the fact natural language is generally quite inefficent for logical statements / arguments / instructions but can gather visual ideas far more efficiently than code can.