Slashdot Mirror


Tim Bray on the Birth of XML, 10 Years Later

lazyguyuk writes "Tim Bray posts a lengthy blog on the birth of XML, formalized as 1.0 in Feb 1998. 'XML is ten years old today. It feels like yesterday, or a lifetime. I wrote this that year (1998). It's really long. The title was originally Good Luck and Internet Plumbing but the filename was "XML-People" and I decided I liked that better. I never got around to publishing it, so why not now?'"

16 of 260 comments (clear)

  1. Classic by Gothmolly · · Score: 5, Funny

    Young Buck: Hey, we have a data exchange problem between two systems, lets use XML !
    Greybeard: Ok, but now you have 2 problems.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Classic by smittyoneeach · · Score: 5, Insightful

      In defense of XML, the parsing problem is handled.
      Best wishes on solving the semantic snarls.
      XML, like all good approaches, handles mechanism, not policy.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    2. Re:Classic by oyenstikker · · Score: 4, Insightful

      There are only a few problems with this:
      1) Non-ancestor relationships and references (i.e., having the same node as multiple locations in the XML document) are not covered by XML, but are possible with objects.
      You can with refids and keys.

      but with a more effecient format (binary)
      It is wonderful to be able to easily read and edit the data in a text editor. If you want it more compact for storage and transmission, compress it. I understand that a binary format could lead to more efficient processing and parsing, but I think the benefits of readable text outweigh the efficiency.
      --
      The masses are the crack whores of religion.
  2. Re:10 Years and still waiting by CRCulver · · Score: 4, Informative

    Do you maintain a website? XML has been a godsend for those who want to maintain web and print output side by side. By keeping your data in an XML format, you can use simple XSL stylesheets to generate multiple types of output. See e.g. O'Reilly's XSLT Cookbook for dozens of very real-world examples (it's probably in your library).

    That's just one example of how XML technology has made coding easier. Others I'm sure will point out others.

    If you aren't a developer, then I'm not sure XML was supposed to directly revolutionize your end-user experience.

  3. Java and XML, bad tastes that are worse together by Omnifarious · · Score: 4, Insightful

    I've recently taken a job at a primarily Java shop. After seeing XML used and abused for ant, maven and various other things I've grown even more disenchanted with it. And now I've also gotten the chance to see that not only does Java represent a poor trade off between the annoyances of a strongly typed language and the speed of a dynamic interpreted one, it has a horrible mess of dependency issues that nobody really solves besides.

    I'm much more hopeful about technologies like Thrift and/or D-Bus than I ever was about such abysmal abominations as SOAP, or the only slightly better XML-RPC.

    The Java XML world seems like this little closed ecology of mutual masturbators who all come up with more Java and XML 'solutions' to problems that never existed before they started using Java and XML.

    I see the value of XML for long-lived documents that don't spend a lot of their life on the wire. And possibly for config files, though IMHO it is too ugly and unreadable for those. But as a general tool for Internet plumbing it's awful.

  4. Oblig by mariuszbi · · Score: 5, Funny

    XML is like violence.. when it doesn't work, use some more!

  5. Re:XML and Interfaces by MBCook · · Score: 4, Informative
    Here are some of the "fun" things I have run across in other people's (almost certainly custom) XML interpreters/producers:
    • Tags must be upper case
    • Tags can't be upper case
    • You must put line breaks between elements
    • There can't be any whitespace between elements
    • It's import to URL encode the XML before it gets sent from them to me
    • You don't need CDATA blocks, just put the ampersands and >s right in there, it'll be OK
    • Your XML should all be inside a CDATA block in container XML
    • No tags can self-close
    • Self closed tags need a space between the slash and bracket
    • Self closed tags can't have a space between the slash and bracket

    That's just what I can think of off the top of my head. We've seen quite a bit of crazy stuff. If everyone would just use one of the already written XML producers or parsers (the big ones, the ones that work) life would be much easier around here from time to time.

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
  6. Re:Java and XML, bad tastes that are worse togethe by GodfatherofSoul · · Score: 5, Interesting

    Yay! Nothing like the combination of XML and Java to bring out the haters. Incompetent use of a language/API doesn't equate to a bad language/API. I can show you plenty of crappy C/C++ code freely browsable in some open source libraries. Does that mean C++ sucks? Hell no.

    My experience with Java+XML you ask? OFX servers for financial institutions. Without name dropping, check out the list of banks, brokerages, tax services, and credit card providers (Quicken) out there successfully serving up client data. I guess we're all circle jerking while you're downloading your account information into Quicken or Money.

    Some good uses for XML:

    • Ephemeral representations of atomic, structured data; usually for transport.
    • Config files. More verbose and the syntax is far better at keeping you from fat fingering a setting and blowing up your app. If you can't clearly read XML, you need glasses.

    Some bad uses for XML:

    • High volume, rapid response data streams; like say an on-line multiplayer game (though I've never benchmarked this)
    • Unbounded data streams; e.g. streaming media
    • Databases

    I have to admit, I'm clueless about your Java dependency issues. The only way I can see that ever happening is if you're dumping all of your classes into the default top-level package; and that's major user error if you are.

    --
    I swear to God...I swear to God! That is NOT how you treat your human!
  7. Re:Java and XML - Addendum by Omnifarious · · Score: 4, Insightful

    CORBA is a minor pain to parse. From what I could tell you could just sit down with a spec and code up your own parser for ye-old random language in a day or two. But that's not my major issue with it.

    My major issue with it was that it promotes designing distributed systems that focus on the semantic roles of the participants instead of the data moving around. In fact it discourages programmers using it from even thinking of what they're doing as sending messages to some system many milliseconds away. Among other evils this leads to all kinds of interesting issues with threading and concurrency that didn't even have to exist.

  8. Here, let me fix that for you ... by trolltalk.com · · Score: 4, Insightful

    If everyone would just use one of the already written XML producers or parsers (the big ones, the ones that work) life would be much easier around here from time to time.
    If everyone would just went back to using simple delimited ascii text life would be much easier around here.

    1. Re:Here, let me fix that for you ... by kyz · · Score: 5, Insightful

      I have, and I can tell you that it's a waste of time.

      It amazes me how something that looks so simple can have so many corner cases, and how they can be solved so differently by different implementations.

      CSV is fine if you want to store data that has no quote marks, commas, carriage returns or linefeeds. For everything else, please use a better specified format, preferably one that has a formal definition. Like XML, for example.

      --
      Does my bum look big in this?
  9. Re:Java and XML, bad tastes that are worse togethe by bckrispi · · Score: 4, Insightful

    I'll take an Ant XML build file over an "is that a tab or a space" Makefile any day...

    --
    Xenon, where's my money? -Borno
  10. Re:XML was formalized? by Jerf · · Score: 4, Insightful

    Yes. XML was formalized. It is strictly defined and easy to check for compliance (with the right tools). Only a little bit of the definition has passed out of common usage, mostly focused around DTDs.

    If you encounter a file that claims to be XML, but does not meet the XML standard, then it is not the XML standard that is to blame. The claim is wrong and the file is not XML.

    XML is not a fuzzy-wuzzy adjective that can be applied willy-nilly to anything and magically turn it into "XML". It is not a marketing term or English Professor term. It is a rigidly specified engineer term for a document format, and a given document is XML if and only if it meets that format.

    If someone wants to hack together a half-assed parser or emitter of any language, they will. I've seen half-assed XML parsers, I've seen half-assed JSON parsers, I've seen half-assed HTML parsers, I've seen half-assed YAML parsers, I've seen ... you get the idea. If a standard can't solve the problem, you can't count the lack of solution against it.

  11. Re:YAML and JSON by cliveholloway · · Score: 5, Funny

    <reply xmlns="Slashdot:Comment">
        <paragraph>
            <sentence>What?</sentence>
            <sentence>Are you telling me that this isn't the preferred way of presenting data?</sentence>
            <sentence>Honestly, this &amp; SOAP are two technologies that have made my life so much more &quot;interesting&quot; as a developer.</sentence>
            <sentence>Fucking XML...</sentence>
        </paragraph>
    </reply>

    --
    -- Trinity in high heels carrying a whip: The donimatrix - there is no spoonerism
  12. Re:10 Years and still waiting by TheRaven64 · · Score: 4, Informative

    Does anyone still use latex2html? All of the TeX users I know who care about HTML output switched to tex4ht years ago. It produces a variety of XML formats, including XHTML (with MathML) and OpenDocument.

    --
    I am TheRaven on Soylent News
  13. Re:Regex by TheRaven64 · · Score: 5, Informative
    You fail Computer Science 101. Regular expressions are exactly as expressive as finite automata. A finite automaton is incapable of solving the matching brackets problem, since that requires a potentially infinite number of states in order to keep track of the number of open brackets in an input stream. Because of this, a regular expression can not be used to parse any XML schema that allows an arbitrary depth of nesting, since parsing such a form with would require counting the open and close tags to make sure they match, which is not possible with a regular expression.

    This is why regular expressions are typically used for lexical analysis (tokenisation) not syntactic analysis (parsing).

    --
    I am TheRaven on Soylent News