XML is still evil

I love people. Everybody who knows me is aware of how much I respect and admire the average person. Software folks are no different. Most of them are very intelligent and never say stupid things regarding topics about which they have almost no experience.

So while I wasn’t terribly surprised to see that XML is still crap, I was utterly shocked to see that people still defend it.

PEOPLE, LISTEN THE HELL UP. It’s very simple. XML was built to mark up documents, not to store data. Here are some choice comments from really smart people:

XML became the default because of its flexibility in data formatting. And, because it has become so ubiquitous, almost all programming languages have built in ways of easily parsing XML. In fact, I do almost all of my web output using XML and then use XSL style sheets to transform it into HTML. I remember some blogger, can’t remember his name, blathering on about MVC and how you should make your output “skinable”. Well, if you produce XML output, your webpages are extremely skinable.

The problem here is that you’ve apparently killed most of your brain cells by listening to idiots tell you what to do all your life. XML is flexible for sure, but the problem is how it’s abused. XML is used for everything. SOAP is the worst example. XML is not for data storage. It is not okay to store data that isn’t meant to be human-readable in a TEXT-ONLY FORMAT. Have you ever seen how much smaller binary files are than text files?

Skinnable websites = marked-up documents. That’s what XML was built for. I don’t even like it for that very much, but it does work fairly well in that capacity. Marked-up data is a completely different situation.

I’m afraid I couldn’t disagree more. No, XML isn’t the easiest to read (by humans) of all the infinite number of alternatives out there. No, XML isn’t the most efficient in terms of space. And yes, perhaps it has been forced into places it was never intended to go. But you miss what I think is the most important point: it is rapidly becoming a standard way of representing information. I would argue the value of having a standard far outweighs the inefficiencies in most cases.

I would argue that you’ve been brainwashed by people who are only slightly stupider than yourself. XML as a standard isn’t a good thing, but even here your “logic” is nothing but a straw man argument. The author of the post didn’t say standards were bad, and didn’t even say XML didn’t make sense anywhere. He said XML wasn’t the best choice for every place it’s being used, which you have already admitted!

You’re an embarrassment! It’s not good to have bad standards! Look at SOAP! It is good to always look for a better choice. Where the fuck would you be without people ten times are intelligent as yourself always looking for better options? You’d be a fucking caveman. We evolve, we look for better options, we find better ways to get a job done! Standards are fine, but without constant analysis and reconsideration of those standards, our industry would never go anywhere. How can you claim to be an IT person and yet not understand this?


Following a link from that site to an old JSON vs. XML debate, I found even more idiocies. But one in particular just shouts out about the morons who’ve managed to become part of my industry:

As Dr Phil asks — What were they thinking?

No doubt I can write a routine to parse this, but look at how deep they went to re-invent, XML itself wasn’t good enough for them, for some reason (I’d love to hear the reason). Who did this travesty? Let’s find a tree and string them up. Now.

This is bad. This guy is a total moron. I mean, he didn’t even bother to investigate JSON before he said this most absurd of arguments. Not only is he saying, “Let’s not reinvent the wheel for any reason, ever” (which should be a blasphemy to all computer science disciples), but he’s saying JSON makes no sense for anything, ever. JSON may not be your cup of tea, but it’s faster than XML when used in Javascript (eval vs. parsing XML – sorry, but if you can’t figure that out, you’re just a dildo – only you probably get less sex) and for the most part, more human readable and writable.

Oh, but Dave Winer (Whiner?) gets even worse:

Dan, where are the benchmarks that say that on a processor capable of running Flash apps or playing Youtube videos that it can’t parse XML “cruft.” If you’re going to use an engineering argument, be prepared to back up t your assumptions with data. I’m pretty sure you can’t because I ran my own benchmarks on the end-user CPU of the late 90s and the overhead of parsing XML was negligable then, and now..? Geez Louise. How many gigahertz to people have these days??

XML parsing is a monumental task. This is clearly the ramblings of some dumbshit who’s never actually used SOAP, XML-RPC, or even plain old XML with XSLT on large data sets. Parsing tens of thousands of records (serialized from the Oracle DB because XML is so great) at my current job is a nightmare. XSLT transforms in some cases take 5 minutes or more, on blazing-fast hardware, using a C++ library (libxml and libxslt). In the late 90s, you’re going to try and tell me XML parsing had “negligable” (IT’S FUCKING SPELLED “negligible!”) overhead? What did you parse, “<hello />world” or something?

Fucking idiots. There’s a reason enterprises that were stupid enough to follow the XML trail are now buying XML-parsing hardware.


My comment is this – if you’re in the computer industry, don’t shoot your mouth off about things you’ve only thought about for 2 minutes while you jerked off to pictures of your dad. You sound like a moron when you do. Me, I’ve used XML in the real world. And a tiny bit of JSON, and a good deal of YAML (I even jerk off to YAML now and again). For marking up documents, XML is fine. For data that needs to be human-accessible, YAML and JSON are so incredibly superior, it’s a joke. Try them out in real situations before you make a total ass of yourself. Yes, I’m talking to you, Dave.

(Yes, I read his “ooh I dun learnt alot in that there diskusshins” follow-up. Ignorant bashing is ignorant bashing, regardless of your “oops” responses later, people)