[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is a lightweight language

Bruce Lewis wrote:
> Here's where I think Scheme/Lisp's rising popularity will come from: As
> Shriram illustrated in his LL1 talk, s-expr syntax is like XML, but less
> painful and more powerful.  For ambitious web developers, it's clearly
> the next big thing.

I can't tell if you're serious. You really think that the incremental
benefits of s-expressions would win web-developers over from
angle-bracketed markup and from there to Lisp? I didn't see the talk so
I may be missing some important context.

There exists a persistent meme that XML is just a new-fangled, verbose
form of s-expressions, invented because its inventors did
not know about Lisp. This is not the case. XML has explict end-tags with
tag-names that match the start-tags because the developers of XML
*removed* the feature of SGML that allowed SGML to be more like
s-expressions. When we were developing XML, we discussed a variety of
alternate syntaxes and joked that if popularity and usability were not
factors, we'd choose s-expressions because many of us processed our XML
(then SGML) in Scheme-variants anyhow. Scheme was the extension language
of the most popular SGML editor and the basis of the only standardized
SGML processing language, DSSSL.

XML's tag-redundancy provides much better error recovery and readability
(at a cost of verbosity). S-expressions-as-we-know-them also use the
worst possible character for grouping because parens happen so often in
ordinary text. XML is not ASCII text, but Unicode, whereas the Common
Lisp and Scheme languages predate Unicode. XML allows text directly as
content whereas s-expressions require them in quotes.

I would bet on YAML before s-expressions, but I'd put my money on 
a government lottery before I'd bet on either of them replacing XML at
this point.

There are already terabytes of bracketed-text flowing around the
Internet, and by now gigabytes of that is XML -- at least in source form
and often in network form. XML has a raft of related standards that
have to be recreated or at least adapted to work with s-expressions:
linking specifications, addressing languages, schema languages,
packaging standards, APIs, protocols ...

Even if parens become incredibly popular as a data structuring language,
one can install an S-expression parser for Java in about fifteen
minutes. What would motivate people to switch programming languages?

 Paul Prescod