| Print dvi |

10 reasons why this site isn't made with XML

  1. I already know LaTeX, and a few other markup languages, and I don't want to learn the details of yet another markup language (as a programmer, I know a dozen ways to encode a for loop in a dozen programming languages. So far, I still know only a few ways to encode an itemize in a markup language, and I don't want to learn one more).

  2. I tend to prefer using a system that's stable, performant and that has been in wide use for a long time.

  3. I care about having large amounts of available documentation and a large community of educated users.

  4. I don't want to learn to use yet another text editor. XML markup is so verbose and un-user-friendly (try to edit a table for example) that a specialized editor is almost mandatory to do serious work.

  5. XML, DTD, Schemas, XPath, Xlink, XPointer, XForms, XFrames, XSLT, XHTML, XHTML, 3.2, 4.0, transitional ...pleeeaaase stop that!

  6. I'm inclined to trust more the work of passionate individuals than that of commitees.

  7. I want to use the right tool for the job. XML is some kind of new ASN.1 to me, a unified way to represent data structures, mainly viewed as trees. But a text is mainly linear, definitely not a tree. So XML may be a very useful thing, but is not really suited to texts.

  8. I may have to talk about maths sometimes, LaTeX provides a convenient way to encode formulas (should I add MathML in item 5?)

  9. I'm tired of acronyms, especially three-letter ones. (Yes I known TeX stands for tau epsilon chi :)

  10. Finally, I think there's a deep truth in this ironic criticism of XML (Credits go to Philip Wadler http://homepages.inf.ed.ac.uk/wadler/):
    The Evolution of Language
    2x (Descartes)

    l x.2x
    (Church)

    (LAMBDA (X) (* 2 X))
    (McCarthy)

    <?xml version="1.0"?>
      <LAMBDA-TERM>
           <VAR-LIST>
               <VAR>X</VAR>
           </VAR-LIST>
           <EXPR>
              <APPLICATION>
                  <EXPR><CONST>*</CONST></EXPR>
                  <ARGUMENT-LIST>
                      <EXPR><CONST>2</CONST></EXPR>
                      <EXPR><VAR>X</VAR></EXPR>
                  </ARGUMENT-LIST>
              </APPLICATION>
           </EXPR>
        </LAMBDA-TERM>
    (W3C)