[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] XML support in browsers?
- From: "Michael Kay" <mike@saxonica.com>
- To: "'max toro q'" <maxtoroq@gmail.com>,<xml-dev@lists.xml.org>
- Date: Sat, 13 Jun 2009 10:03:01 +0100
> Why do people despise XSLT so
much?
Well, as I said before, there is certainly a tendency for
people to either love it or hate it.
I think the people who get on well with XSLT are
either:
* non-programmers who use it as a simple templating
language and don't attempt any serious structural or algorithmic
transformations: they like the fact that it doesn't feel like
programming
* programmers with a sufficiently deep understanding
of their craft to appreciate the semantic power of the language and not be
fazed by recursion, rule-based programming, or quirky
syntax
The people who don't get on well with it are programmers
(and script kiddies) who think they can approach it as "just another scripting
language" that will behave like the previous language they used and that can be
learnt by trial and error without first studying the concepts. Sometimes they
are put off by the surface syntax and the verbosity (especially in the case of
XSLT 1.0, and especially if you try to use it without understanding template
rules), sometimes they are put off because they just can't get to grips with
rule-based programming (they like to be "in control", which means writing
imperative code), sometimes they can't cope with the functional nature of the
language (their mental model of programming is based on putting values in memory
locations) and in particular with recursion. Another factor that causes a
lot of frustration is debugging: you don't tend to get much help from the system
either at compile-time or at run-time when you get your path expressions wrong
(and schema-aware programming, which largely solves this problem, is typically
used only by those who are already experts and don't need convincing). Another
factor (largely solved by XSLT 2.0) is that the function library is so sparse
compared with other languages.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]