Maybe there’s a reason CSS is just not given the same “respect” as say Python or PHP. They’re all languages after all. They each have distinct advantages and achieve specific things by way of code. Either has the potential to exercise creativity – I would visualize CSS as the programmer/painter vs PHP/Java as the programmer/architect. Overall they’re equally valid languages/art to me.
Which is why it gets on my nerves, it irks me so, that CSS developers & users are so complacent when it comes to actually deploying the code. The very concept of “hacks” to make CSS work is so alien to me. Would any self-respecting programmer in any other language allow such blatant disregard for standards/conventions in their compilers (in this case, the browsers)?
I respect the industry for working tirelessly and I respect the Standards Working Group for constantly adding to the protocol, I do. But if developers really want to take themselves seriously, then the entire experimental empirical process of adding new features on a liberal independent roadmap per browser has to change.
When I write code for a C compiler, if the syntax is valid, then it should work. Period. If it doesn’t work, it’s a bug and must be patched. I don’t see why entire games and OSes can be patched but not a paltry browser engine. So what if IE6/Netscape/FF1.5/IE5 Mac is an old browser, why is the engine not patchable?
And my exasperation is not limited to the ever-repulsive Internet Explorer family. I’m looking at “modern browsers” too. I find this whole direction of vendor-specific CSS to be disgusting. Am I the only one? Vendor-specific code can be used for debugging. Keep those in the nightlies.
I don’t see why vendor-specific code should make it into production/deployment code. To have mutiple declarations that do essentially the same thing, is just not good code. Again, as a programmer for any other language, would it be acceptable to have a compiler-specific syntax for certain actions? And would any self-respecting programmer, pre-emptively code multiple versions of the same functions so when people download the source code, it’ll work in arbitrarily different compilers? Javascript/PHP doesn’t have to be coded differently depending on the browser being used. Why should CSS be any different?
You know what would be nice? A universal roadmap that all browsers try to implement at around the same time. And a modular design of browsers such that the engine is patchable. A transparent upgrade mechanism à la Chrome would be just as nice. What do you think?