The other day I offended someone on a mailing list. After advocating for the use of Word as a WYSIWYG, he'd gone on to say that he understood why others might have an issue with that, and look at this site he'd done which was "semantic" and "coded perfectly". I went and looked and it was a mess of tables and font tags. I pointed that out - constructively, I thought - and he accused me of calling him an idiot.
I feel like things were clearer before every idiot with a wireless router had a blog (knowing I'm technically one of those idiots). When your choices for information on front-end techniques were limited to W3Schools and A List Apart, it was a lot easier to figure out what the best way to mark up a page was. Now you search for information on clearing floats and you find ten different answers. That I can live with, because in that case at least, it's just a matter of keeping up. You know which one is the best because you've tried the others. Simple.
I'm bothered, though, by these people
who've declared war on CSS
. I'm bothered that there are so many of them, like the guy from the mailing list, that they've convinced each other there are grounds for discussion. I'm sorry, but there aren't. Calling CSS flawed because you don't grasp all of its idiosyncrasies is beside the point; suggesting tables as an alternative suggests that what you don't understand, you owe to a failure to learn or to never having had the experience of trying to modify a large site laid out entirely in tables. CSS is not perfect, but it is inifitely more maintainable than tabled layouts. It means less work for developers in the long run if they'd just stop rationalizing their failure to put in the work necessary to learn to use it. To hell with semantics, to hell with download size, to hell with mobile browsers and screen readers. You use CSS instead of tables because to do otherwise is to make more work for yourself or whoever replaces you. I can't see a reason any working front-end developer would prefer tables to CSS except as a defense against their own obsolescence.