Re: Works fine...
So, I know it's fashionable hereabouts to criticize CSS and that my opinion will be as welcome as a Polish plumber at Jacob Rees-Mogg's fox-hunting shindig. But IMHO you are blaming bad workmanship on the hammers rather than on the carpenters.
I don't claim to code html by hand. I ain't no flannel&Birkenstock-wearing vegan hipster either and, though I never used punchcards, one of my college buddies did during his internship (at Raytheon, might explain Patriot's dud performance in Gulf War 1). My background is database and code generation. In my case, I introspect SQL table structures, generate html templates on the fly and then throw SELECTs into them to render data in nice little html tables. Add a column? Don't really care, the template will be regenerated and it will just work.
I've always been told how important it is to separate data from its representation and formatting. CSS allows me to do precisely that. For example I can class the appropriate <td> or <th> with a ".key" class indicating this fields is a key field for that (SQL) table. And the visual representation can be left to someone fluent in CSS. Table sizing and placement? Ditto.
Defining a formal formatting domain specific language is hard and, IMHO, CSS is mostly pretty successful at it. A lot of non-HTML programs allow user-defined formatting via... CSS because, well, it makes sense. That's not to say CSS's easy, that I am good at it or even that I would want to be.
I also notice that a lot of the newer website DO render with all JS turned off and that the days of Flash-only or JS-only abominations are receding (NoScript makes me well aware of those). More and more we are seeing progressive enhancement instead: view-only works just fine with JS turned off . One interesting trend is the use of static website generators to replace Wordpress and a large part of what enables this type of approach is being able to rely on CSS to precisely define what a site looks like.
Not everyone has adapted and a lot of web devs and designers are still building crap sites. On that we both agree. But the top of the crop _are_ impressive at working with their medium. Certainly they, and their stack, impress me a lot more than J2EE devs and their stack.
But, hey, if you want to insist on moving kids offa our lawns, that's cool by me too.
</rant>