Tagging on to Lori's Blog Entry about XML, SOA, and performance of SOA applications in general, I figure I'll share an ill-kept secret with you.

I'm a developer. I hate XML. I've been listening to XML fans point their fingers at everything but their gigabyte-sized files that are "human readable" only in the sense that they're characters for years over performance issues. Usually it's pointed at developers for not having tight enough data definition or tight enough code.

I don't hate the concept, the concept is a good one. I hate that people put on blinders and decided it was the right solution to every problem. I've been pretty vocal about it over the years because I figure that your data communications format shouldn't be more complex than the language you develop in. Particularly not for everything. You're of course entitled to think I'm an idiot over this little point - Lori and I have had great dinner-table debates on the topic, and even did a short video for The News Show where we took opposite stances on the issue (I think I lost).

But I think I've found a solution that might make more sense for us developers that aren't out to make every byte in the world fall under The One True Standard of XML. Yep, you guessed it. Why not JSON?

Take a peek at Mike Champion's Weblog  entry on the topic. It's pretty amusing, and brings up some interesting points. I'm not sure how Mike manages it, but the comments users have left are even pretty reasoned. Not at all like the Holy War that normally rages around "my technology/your technology" issues.

In the end, the goal is to make things easier and more interoperable at the same time. Anyone who's worked with XML knows that it's simple like getting to the moon or building ballistic missiles is simple - looks great from outside, but if you're on the project you know you've really stepped in the cow dung and you'd better get to cleaning. Yeah, I've done XML-intensive appdev. Will likely do it again. My shrink says that he's certain I can deal with it (just kidding, people like me don't use psychiatrists, we're way too certain we're right to need someone like that).

What do I want? I want there to be a "right tool for the job" mentality. Some tasks just don't warrant the ponderous monstrosity that XML with all of it's add-ons represents. There is nothing wrong with that, and history has shown us that few "uber-standards" stand long in the AppDev space. That's all I've really ever wanted - options when developing an app to best suit the needs of my target audience. Making the language representation more like the languages I write in every day would be useful, but primarily I want something less filling (CPU-filling that is). When data-intensive applications are spending as much time translating to and from XML as actually communicating data, that's a sign that we've gone awry somewhere. That somewhere is attempting to beat the world with The One True Standard.

But this post is my total contribution to the debate. I have a lot to do, and could get sucked up in defining exactly where JSON makes sense if I were to allow it... But I will not, so that I can keep working on all the cool stuff on my plate for you, the DevCentral user. But think about it, a world where you only used XML when you absolutely needed it.

After all, if all you have is a hammer...

Imbibing: Coffee and water
Reading: Still working on The Rommel Papers.

Don.
(Yeah, there will be another debate at the MacVittie table tonight if Lori sees this before then. Makes life fun. I promise to lose gracefully.)