[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] RE: Declarative programming requires a different mindset
- From: Norman Gray <norman@astro.gla.ac.uk>
- To: "Michael Kay" <mike@saxonica.com>
- Date: Mon, 12 Apr 2010 23:02:15 +0100
On 2010 Apr 12, at 22:13, Michael Kay wrote:
> This had the entirely
> intentional consequence that the language is happily used (a) by people who
> would otherwise be writing HTML and can see that XSLT is similar but does a
> lot of the work for you
I cannot see the 'similar', but I do honestly appreciate the tactical advantage that instance syntax gave the language. It's a pity that here, as in so many instances in life, tactics turned into strategy, and we end up stuck with DSSSL--.
> and (b) by programmers who are sufficiently
> open-minded to see the deep beauty of the language through its superficial
> ugliness, while scaring off the Javascript kiddies who don't deserve such
> good tools.
Well... the deep attactions of a particular programming paradigm, very well hidden by the not-so-superficial ugliness of XSLT (which remains ugly for at least one layer after you abstract away the pointy brackets).
I'm not seriously cheerleading for DSSSL here -- that battle's lost and won. I suppose all I'm really doing here is logging my gratitude to DSSSL (and thus to Clark) for opening my eyes to functional programming. I've never looked back.
> In fact, using XML as the syntactic basis has many benefits. The most
> notable one for me is that it is very easy to extend the language: whereas
> XQuery goes through anguish every time a new construct is added, because of
> the ambiguities and inconsistencies introduced by new grammar, XSLT is
> infinitely extensible through new elements and attributes with no problems
> at all.
Yes, but these are benefits of functional languages in general. XSLT inherits those because it's one of a family of minimal-syntax lisp-like languages.
All the best,
Norman
--
Norman Gray : http://nxg.me.uk
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]