Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Feb 2003 09:15:49 -0800
From:      Bakul Shah <bakul@bitblocks.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        arch@FreeBSD.ORG
Subject:   Re: syslog.conf syntax change (multiple program/host specifications) 
Message-ID:  <200302131715.MAA21247@agamemnon.cnchost.com>
In-Reply-To: Your message of "Wed, 12 Feb 2003 18:39:22 PST." <3E4B055A.641E4B6A@mindspring.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > In my view XML is to data representation what Roman numerals
> > are to math.
> 
> *This* belongs in the fortunes database.

:->

> > Rather than repeat all the arguments I'll point you to what
> > knowledgeable people like Erik Naggum have to say about XML
> > (search comp.lang.lisp on groups.google.com).  Naggum used to
> > be a strong proponent of SGML until he "saw the light"!  A
> > couple of recent thread on XML on comp.lang.lisp are worth
> > browsing.
> 
> Erik is hardly unbiased.  Back "in the old days" of the early
> 1990's, when we were first discussing the formulation of the
> SGML standard on Usenet, he lost some bitter battles with the
> main SGML guys about representation in DTD's and a number of
> other points.  He may or may not be the "forgive and forget"
> type of guy.

Well, of course he is biased; he spent over 6 years of his
life doing SGML before bailing out!  Though I doubt he holds
a grudge because of some lost battles.  The issue is the
braindeadness of XML, not Naggum.  Since no one likely wants
to trawl through comp.lang.lisp, I'll quote a few things
(with message-ids so that you can look them up if you want)
while leaving out his colorful choice phrases.

Please excuse the length of this message; I got carried away :-)

In <3239150725773370@naggum.no>

  I do not consider myself "next generation" anything, but I have contributed
  to GNU Emacs just short of a decade, was a world-renown expert on SGML and
  related standards until I wrote a book about it and realized that 97.5% of
  SGML is braindamaged and I could not gloss over it, anymore.  ...

In <3239282082503601@naggum.no> he says:

* Paolo Amoroso
| Could you elaborate on the 2.5% of SGML that is not braindamaged?  What
| ideas are worth saving?  Do such ideas also live somewhere else (e.g., in
| XML)?

  To start from the end, the ideas survived unchanged in XML, neither improved
  nor weakened.  The first core idea is hierarchical structuring of information.
  Lisp has had this forever.  The second is textual representation.  Lisp has
  had this forever.  The third is validatability of the structure.  Lisp has no
  notion of this separate from the semantics of special operators or the usual
  evaluation rules.  The fourth is an entity structure that allow documents to
  share components.  Lisp does this by loading things into the image and the
  `require'/`provide' pair of deprecated operators.  From there on it is all
  downhill for the SGML family.

  The really grave mistakes include the element-attribute dichotomy, the new
  syntax for every meta-level, such as the attribute-value syntax, the qouting
  conventions, character entities and references, document type definitions,
  and ultimately the sgml declaration, the primitive language for content
  models, the changing syntax according as features are supported or not, the
  redundant end-tag, and failure to use a simple escaping mechanism for
  characters that could be confused as markup with the character references as
  data adding additional complexity.  The sheer complexity of parsing SGML and
  XML and presenting it to the caller lies mainly in the syntactic mess and
  the utter lack of an intelligent model for in-memory representation.  (DOM
  is completely braindamaged with no redeeming qualities.)
  ...

In <3239316488198320@naggum.no> he says:

* Oleg <oleg_inconnu@myrealbox.com>
| Who said proper nesting is intrinsically a good thing, silly rules made up 
| by mortals notwithstanding?

  It is not the proper nesting that is the problem.  It is the infinitely stupid
  separation of start- and end-tags.  If you wrote @bold{foo} instead of
  <bold>foo</bold>, you would not even /want/ to say @bold{foo @italic{bar}
  zot} if you expected to get foo in bold, zot in italic, and bar in both.
  The stupidity of <bold>foo<italic>bar</bold>zot</italic> is not in nesting,
  it is in the moronic syntax. ...
  ...
  The otherwise pretty smart people who dreamt up generalized markup (which is
  itself an important abstraction that few people have made independently)
  made a very serious mistake in making "tags" independent constructs of the
  element.  Yes, abstract elements have starts and ends, but it is a serious
  mistake to make both sides verbose and explicit.  ...
  ...
  When you give people verbose, explicit edges of elements, they will think of
  them the wrong way.  It is not proper nesting that they do not understand.
  It is the fact that they see a kind of different edges than the syntax wants
  to represent. ...
  ...
  In many important ways, SGML is its own worst enemy.  It has managed to
  teach information structuring completely backwards.  Instead of making the
  edges explicit but non-intrusive as in Common Lisp, the edges are much too
  visible and verbose with the stupid tags that very quickly consume more of
  the large volume of characters in SGML/XML documents than the contents.  I
  am sure it was thought of as useful back when people needed to be converted,
  but once converted, it gets in the way more than anything else and leads
  people to make mistakes if they do not think very carefully about what they
  try to do. ...

In <3239423919385905@naggum.no> he says:

* Johan Kullstam
| Yes, but this what is stupid.  The rules of the language says you
| *must* properly nest the tags.  However, the syntax suggests that not
| nesting is possible.  Why else introduce the verbose closing tag
| unless you could close something else than the last opened tag?

  Historically, the idea was that omitted start- and end-tags should be
  inferrable.  This is a bad idea for a large number of very good reasons, and
  XML did away with them, which is the same kind of improvement that drowning
  at a depth of 10 feet is an improvement over drowning at a depth of 100
  feet, but in a Stroustrupesque move, XML decided to keep the antiquated
  end-tags which had now survived their usefulness.  The whole syntax was an
  improvement over its predecessors in 1970, but after it had been adopted, it
  should have been further improved. ...

In <3241162747773498@naggum.no> he says:

* synthespian
| I don't understand your point of view, in the light of the fact that a
| couple of weeks ago you said that SGML and XML were "braindead."

  Well, let me put it this way: The XML crowd believes that if you only add
  enough markup, everything humankind has ever dreamt of will suddenly emerge
  from the chaos.  I believe that this is a very serious misunderstanding of
  both chaos and emergent properties and that more markup will, in fact,
  prevent them from emerging.  XML-style markup effectively prohibits the
  multiple perspectives on the same information that makes it usable for
  multiple purposes.  In this sense, the more you employ XML to achieve your
  goals, the more irrelevant the result will become.

In <3242173964750774@naggum.no>:

| Am I wrong in assuming that with XML you are roughly as safe as you would be
| with a _documented_ binary format?

  It is a myth that XML is documented.  You have no idea what the elements
  /actually/ mean (and have warped into over time) until you see the source code
  for the application.  XML becomes /more/ application-dependent over time than
  binary formats because it provides a false security and an appearance that
  belies its true nature.  XML /is/ a binary format, it is just that it is the
  kind of binary formats that line printers and raw text editors can use, too,
  and it is no less dependent on the exactness and precision that other binary
  formats require.  At least when you have a binary format, you know that you
  need to have a version field and proper version management.  People who think
  SGML or XML will save them tend to forget version management and rely on
  stupid human tendencies to believe that that which they can "read" must also
  be understandable to the machine. ...

In <3242255304507299@naggum.no>

* Tim Josling
| XML is an encoding format, no more than that.

  You may find it illuminating to do a web search on my name and SGML.

| It is a pretty good encoding format because it is relatively simple and
| semi-human-readable, though verbose. Compare with the alteratives - ad hoc
| binary formats or the IEEE's binary format monstrosity whose name I forget.

  As long as you actually believe that such are the alternatives, yes, XML is
  better than the completely braindamaged.  However, if you start to think
  about the problem, XML starts to become an idiotic non-solution that only
  creates more problems than it solves.  It has all the disadvantages of an ad
  hoc binary format, and none of the benefits -- namely compactness and
  version sensitivity.
  ...
| You can't blame this on XML.

  I can, and I do.  Languages come with philosophies from which they cannot be
  separated.  The XML philosphy is stale, stupid, and counter-productive
  relative to its own stated goals, among which the most important was supposed
  to be the independence of data from the application, which is actually worse
  with XML than even /your/ "alternatives".

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302131715.MAA21247>