Subject: Popularity of XML
Posted By: codesamurai Post Date: 1/22/2006 11:21:12 AM
I am new to XML and I am learning it. Because I am doing java programming and XML is java's sidekick language. But as I learn it, I wonder why it is so popular. It has a hierarchical structure, tags for delimiters, and dtd, xsd..etc files associated with a xml document. In some cases in my company national middleware that uses XML cannot handle very large amounts and was re-directed to use non-xml data stream. Everything points to overhead. Why is XML so popular when it has a lot of overhead?
Reply By: mhkay Reply Date: 1/22/2006 5:40:58 PM
That's a good question and for those of us immersed in the detail of the subject, it's a good idea to stand back occasionally and think about such basic questions.

I think there are two answers. Firstly, XML offers a lot of functionality for a quite small cost. Secondly, it's popular because it's popular: once something acquires a certain critical mass, everyone uses it simply because there are benefits in doing things the same way as everyone else.

As far as overhead is concerned, remember that the biggest costs in any IT system are people costs. XML might cost you a bit more in processing power or in network bandwidth, but it succeeded where other more efficient approaches (such as ASN.1) failed because it's simpler and therefore cheaper to implement. Not just a bit cheaper, a lot cheaper: ASN.1 compilers were selling for six-figure sums, but XML parsers were free, because it was possible for amateurs to write XML parsers in a couple of weeks. Similarly, the fact that XML is human-readable and ASN.1 isn't makes a vast difference to the effort involved in debugging incorrect messages and getting to the point where applications interoperate successfully.

One of the odd things about computing is that the things that prove successful are very often things that don't seem to be technically optimal. But I think you'll usually find that they hit some kind of "sweet spot" in being there at the right time, at the right cost, being easy to understand and implement, and good enough to meet practical user needs.

Also remember that 90% or more of applications aren't performance critical. Simple technology designed for the 90% of applications with less demanding requirements tends to win in the market over complex technology designed for the top 10%.

Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference
Reply By: codesamurai Reply Date: 1/22/2006 5:50:04 PM
Thanks for your response. I will that in mind as I learn more about XML.

Go to topic 39039

Return to index page 388
Return to index page 387
Return to index page 386
Return to index page 385
Return to index page 384
Return to index page 383
Return to index page 382
Return to index page 381
Return to index page 380
Return to index page 379