Revenge of the Idiots: "I don't need to know XHTML"
(More blog entries from bbirney)
Some web programmers apparently think they don't need to know XHTML. These people are (and you will hear this word frequently in the following post) NITWITS. That's not an acronym, it's a pejorative.
I had to restrain myself from telling him off right then and there, so instead I'm going to do it here, from the relative safety of my blog. (This guy was a decent fellow, I'm not saying he was an asshole - but we've already established that he's a nitwit, so I can't be too gentle. Wake up call, nitwit.)
PHP is a web programming language. You use it to build web applications. XHTML is the language that is used to present the interface of a web application. How can you claim not to need to know XHTML? If I were a regular applications programmer, I couldn't very well say to my boss "Sorry, I don't write interface code. It's a design issue." My boss would, rightly, stick his boot up my ass.
Interface coding is an integral part of building a successful application. ESPECIALLY if you are a freelancer, you ABSOLUTELY HAVE to be able to build an interface. And on the web, nitwits, XHTML is the language you use to build interfaces.
Furthermore, the argument sometimes goes, XHTML is something that describes a graphical layout, so it should be dealt with by a graphics designer. This is also bullshit. Graphics designers are trained to be good at laying out visual elements in space, not mastering the arcane complexities of cross-browser code compliance. XHTML is a markup language; markup languages are a presentational subset of programming languages. And with today's emphasis on JavaScript-heavy, rich content web applications, the 'presentational' elements of a web page are inextricably mixed what is undeniably a programming language.
(The proponents of XHTML argue, correctly, that it is a presentational language. But a good web page these days combines presentional and functional elements. You can't write an AJAX application with just XHTML. So XHTML is the presentational head of a three-headed hydra: XHTML, JavaScript and server-side languages like PHP.)
Back to graphics design: you don't ask an architect to weld an i-beam into place (or whatever it is you do with i-beams). That's not his specialty. He designs buildings, he doesn't build them. Yes, it helps if he understands the issues involved in construction, just as a good web designer should understand what does and doesn't work well in implementation on the web. But you don't ask the frikkin' architect to hoist the i-beam into place. If you do, you are a nitwit, and paying your architect for entirely the wrong things. He ought to give you the finger. And if you're the guy wearing the hardhat and holding the wrench, you sure as hell don't tell the contractor that you don't install glass panels because it's a design issue. You're the biggest nitwit of the bunch, and will spend the rest of your days huddling in a cardboard box in a filthy alley, eating rat poop. May God have mercy on your soul.
OK, I'm done. If you are one of those freelance PHP guys that thinks he can leave XHTML to 'the designers' (you know who you are, in the deepest, black corners of your soul): take heed, and go get some O'Reilly books on XHTML and CSS. It is the only path to redemption.