Remix.run Logo
naasking 2 days ago

Developers can learn a new programming language in a few weeks to months of just using it. If they can't learn to reliably and predictably use CSS in the same way, then I'd say that makes CSS flawed.

alwillis 2 days ago | parent [-]

> If they can't learn to reliably and predictably use CSS in the same way, then I'd say that makes CSS flawed.

It's not the fault of CSS that most developers don't learn to use it correctly. That's like blaming the bicycle when learning to ride one.

Frankly, it's not a priority for most of them to learn CSS; they don't see it as a "real" programming language; therefore it's not worth their time.

naasking 2 days ago | parent [-]

> It's not the fault of CSS that most developers don't learn to use it correctly. That's like blaming the bicycle when learning to ride one.

It's not like blaming the bicycle, that's the whole point of my analogy to programming languages. Like I said, learning a new programming language in a few weeks of regular use is a common experience. This also happens with bikes, because you can try a few things, lose balance, make a few intuitive adjustments, and iterate easily.

This just doesn't work with CSS. There are so many pitfalls, corner cases and reasoning is non-compositional and highly contextual. That's the complete opposite of learning to ride a bike or learning a new programming language.

You literally do need to read like, a formal specification of CSS to really understand it, and even then you'll regularly get tripped up. People just learn to stick to a small subset of CSS for which they've managed to build a predictable model for, which is why we got toolkits like Bootstrap.

Edit: this also explains why things like Tailwind are popular: it adds a certain amount of predictability and composition to CSS. Using CSS was way worse in the past when browser compatibility was worse, but it's still not a great experience.