How to make programming terrible for everyone https://jneen.ca/posts/2026-03-27-how-to-make-programming-terrible-for-everyone/

By @jneen

This is probably one of the best articles I've read on vibecoding vs traditional coding! And "Interpretation, Predictability, Discoverability" are all great ways to evaluate programming languages in general.

how to make programming terrible for everyone | jneens web site

how to make programming terrible for everyone

@cwebber @jneen Yet I’m forced to use it or I’ll lose my job. So yeah. 🫠

The article is absolutely amazing BTW. There are some situations at $job right now that are this close to approaching the quine situation. I do what I can to keep things sane but now I have to actively work on side projects to prevent skill atrophy.

@fabio @cwebber a thing i didn't end up putting in was "if the tool is good it wouldn't be necessary to force people to use it"

@jneen Judging from my very limited experience with LLM-using collaborators, one defendable reason is the near-impossibility to have LLM lovers and LLM haters collaborate on a shared codebase. The workflows are too different in many respects. So if you have a majority of LLM lovers, it makes sense to force the minority to join them.

@fabio @cwebber

@jneen BTW, I loved the discussion of CSS. CSS is something I'd consider doing with LLMs (if I didn't have completely orthogonal reasons for not using LLMs), because it's already random trial and error, so it can't get worse.
@khinsen @jneen I strongly disagree. CSS in 2026 is amazing and very easy to understand when used correctly. I have a very particular approach to it though - https://html3000.dev
HTML3000: A Better Way to Write HTML for Modern Apps

No divs, no spans, no classes,no problem

HTML3000
@fabio @khinsen it sometimes surprises people to learn that CSS was intentionally designed to be user-friendly. like i think people imagine standards committees sitting around and saying "what's the most confusing thing we could possibly come up with" while twiddling their mustaches.

@fabio @khinsen even in the 90s this was the case! it's just that... well, people started using it for things outside of scope, and it had to be extended over and over again to meet new expectations.

but those expectations have generally settled these days, and while it does take some amount of working with the system to get a hang of it, i find it quite approachable these days.

@khinsen i think this is callously wrong, unfortunately. i would encourage you to think in terms of your code's impact on human users, rather than separating the world into "lovers" and "haters" as you have here.

@khinsen we already have tools for collaboration, and they are already much better at it than LLMs.

i think you have started from a premise of "how can i justify forcing people to use LLMs" and worked backwards into a justification.

@khinsen and need i add, that when people are "forced" to use LLMs, the result is:

* the LLM doesn't work well
* the programmer just goes ahead and does the thing
* the programmer has to pass their work off as the LLM's in order to not be reprimanded
* ...but is still expected to maintain an "elevated velocity"
* management concludes the LLMs are working great