Whether you like XML or not, we’re stuck with it for a long time. These days, the only new XML-based projects being started up are document-centric and publishing-oriented. Thank goodness, because that’s a much better fit than all the WS-* and Java EE config puke and so on that has given those three letters a bad name among so many programmers. XML for your document database is actually pretty hard to improve on.
February 10, 1998 · I was at some meeting or another at Microsoft, and we were trying to get the last few changes in and publish the final approved spec. Of course, I wasn’t allowed to connect to Microsoft’s Internet. So Dan Connolly at the W3C would look at it, find some little glitch in the formatting or document-status section, we’d talk on the phone, I’d edit ~/XML/xml.xml, HTMLify it with a bunch of Perl I’d cooked up for the job, drop it onto a floppy disk, and give it to one of the Microsoft guys who’d email it to Dan. We went around this track quite a few times, as I recall.
What’s Really Strange · When XML was invented, it was the world’s only useful cross-platform cross-language cross-character-set cross-database data format. Where by “useful” I mean, “came with a pretty good suite of free open-source tools to do the basic things you needed.”
That’s why it ended up being used for all sorts of wildly-inappropriate things.
Is That All There Is? · So these days, if you want to interchange tuples or tables of tuples or numbers and strings, you have JSON. If you want to do nontrivial publishing automation, use XML. If you want to interchange smart bitmaps of page images, there’s PDF. I personally think we’re probably done with inventing low-level textual interchange formats.
What I’m Happiest About · XML really helped push Unicode down the world’s throat.
What I Regret Most · That I gave up working on Lark, the first ever production-ready XML parser, and still one of the fastest. It was maybe the best piece of software I ever wrote; but I couldn’t see the point when there were two other pretty good Java-language XML parsers out there in the wild. Oh well.