Get thee behind me, angle brackets!

Clemens Vasters recently ignited a minor storm in the blog world when he casually mentioned his belief that "XML is ugly and angle brackets are for plumbers. Unless you have a good reason to do so, you shouldn’t have to look at WSDL". He went on to suggest that using high-level tools such as C# and Indigo could free you from having to ever look at the low-level goo of WSDL and XSD and all the numerous WS-* specifications.

A number of prominent folks from the Web services community responded to this notion with Shock and Horror. Tim Ewald, for instance, suggested that Remember that WSDL/XSD/Policy is the contract, period. Any other view of your contract is just an illusion. (though he does say you can let your tool write those files, so long as you know "what it's doing to your real contract"). And Aaron Skonnard suggests that you can't let the tools generate the low-level contract files because the tools do a cruddy job.

I've got to say I'm with Clemens on this one. If the tools don't generate the WSDL you want for your world of multi-vendor interoperability, fix the tools or build better tools. Don't claim that we must all continue to write XML by hand simply because the current crop of tools don't fit your notions of what the final XML product should look like.

I think there's a wider issue here too, one that goes far beyond Web services and WSDL (which, despite what you might think from reading the buzz about them, most developers probably don't care about at all). There's a persistent pattern of interactions among developers wherein more experienced developers tell less experienced developers that new tools are not needed (or that they're actively harmful), and that they way they've always done it is good enough. Consider the dismissal of Visual Basic as a toy language, even though many successful line of business applications have been built in VB. Consider the continuing tension between those who program in IDEs and those who say that anything more than a text editor wastes CPU cycles.

I don't pretend to know quite what's going on here. Some of it is probably innate conservativism and an unwillingness to learn new things, which most of us fall prey to as we age. Some of it is probably the equivalent of "real men don't eat quiche", translated to a culture in which real men subsist on pizza and poorly-brewed coffee. But whatever the cause, I do wish people wouldn't be so quick to dismiss the possibility of tools taking the drudgery out of software development. Personally, if I never have to peer at an angle bracket again, I'll be just as happy.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.