Years ago, I read a blog post by someone about how CSS is a feminine language. It is rare to find original ideas (this is true not only of algorithmic social media, but also of the “blog circuit”, where it is mostly amplification not origination (The irony of me doing the same here is not lost on me)) and that thought has stuck with me for all those years, not just for its originality and truth, but also the insight it offers.
If you search on the internet, you should be able to find the original, and I recommend reading it if you find the thought interesting, they do a much better job of elucidating it than I’m doing here from memory. I could search it for you and link it, but I have this weird thing where I don’t reread original sources after it's been too long, because I often find they don't live up to the grand heights my memory has elevated them to, and neither do they contain the extra associations that my brain has attached to them in the intervening time.
Further, in this specific case I remember the author ended on an unnecessary tangent blaming men for the state of affairs (not only was it unnecessary, it also surprised me to see someone capable of their level of understanding mixing gender and feminity). Right or not, it's an aftertaste I don't wish for again, so I'm not up for reopening that page.
With an introduction longer than the actual surmisation, let's go.
CSS is a feminine language. This unique feature of it explains both its ability to generate holistic beauty, and the resistance masculine thought has to it.
The uniqueness is both syntactic and semantic.
Composability by, itself is not bad. It is how we build structures, systems, sky scrapers, and most large scale software that are too large to fit in singular human minds.
This need for composability is so pervasive, in that in a sort of reverse Conway's law, these leak into the organization. Agile scrums. Jira tickets. Building blocks. Quantifiable. Replaceable. Levels of abstraction, leaky as they are, underlie all the structures in software development — both of the programs themselves, and of the people that are entrusted with building it.
CSS, on the other hand, can create a mess. A beautiful mess, but a mess.
Who says it is a mess? Says the person who comes after the person that created it, and is now trying to add a thing to it. Universally, programmers (at least the current generation) want to spend more time writing code than reading code; which means that they're unlikely to spend the time (and because of how the organization itself is tuned for composability, are unlikely to be allowed to spend the time) that is needed to first understand what the existing structure is doing. To such a goal oriented vision, CSS appears as a mess.
Thus come “conventions”, BEMS, tailwinds, MUIs and what not. This is not a diatribe against them — at work, as a professional, it is my duty given the current state of web development affairs, to recommend using, say, MUI instead of checking in my hand written CSS (even though in my personal projects I'd do otherwise), so that the person who comes after me does not have a hard time.
But what is lost in this industrial take at building software is the beauty that CSS can provide.
And that’s not all, this is not a lament. There are other things for which, while not CSS itself, the mindspace it takes one to, is necessary to get a functional result.
For example, a lunar lander. We’re currently at a point where lunar landers are not industrialized. Each one is a bespoke artwork of engineering, eschewing composability, abstraction and all the costs they entail. Such things (and there will always be such things at the forefront of human endeavors) require the feminity of something like CSS, a holisticness, in their design.