The Dark Craft
Jun. 12th, 2019 09:18 amI recently did a bit of coding on Dreamwidth (the results of which should hopefully be going live... soonish). A bunch of what I was doing involved a lot of CSS, and there was a bit of a feedback loop between that and some CSS stuff I was doing at work, and long story short I guess I’m somehow a CSS witch now. Or at least I look like one.
The weird thing about CSS is that most highly technical people just fucking recoil from it! It’s bizarre to watch! Almost to a one, the programmers I know (who greatly surpass my skill) will immediately say “Ugh, I don’t understand CSS at all, too complicated.” So my new hobby is trying to understand what THAT’S all about.
My current theory goes something like:
- The fundamental principles (like block vs inline contexts, selector specificity, the cascade, the containing block, etc.) are consistent and logical, but most resources don’t explain any of them until you’re like Fully Initiated.
- Some of those fundamentals superficially look like things programmers are familiar with, like variable scope, but their behavior is totally unrelated. Like they’ll act similar enough to lull you into complacency, and then turn hard on you at what seems like a random moment.
So basically if you know anything about real programming and you do anything other than digest the entirety of the fundamentals first, CSS seems designed to cruelly troll your ass. It actively punishes the “jump in, change existing code, observe effects, find parallels to similar systems” loop that most experienced hackers use as a shortcut into unfamiliar languages or frameworks, simply because the “similar systems” don’t really exist.
(And for people who don’t have that aversion, like momijizukamori — when did you start in on CSS? Was it before you internalized the under-structures of any other programming languages?)
Idk, should I do a “CSS Fundamentals for Otherwise Competent Coders” zine or something? I s2g it’s not as hard as all that once you ✨free ur mind✨ or whatever.