Tobias Reif <tobiasreif / pinkjuice.com> writes:

> > Excuse me for not being clear.  The logic that the XSL spec defines (IE: 
> > <xsl:if>... <xsl:choose>...) is a neccessary evil. 
> 
> What's evil about those constructs?

The evolution of programming languages represents a gradual
migration. We started doing what was easy for the machine: coding
machine instructions in binary using a soldering iron or patch
panel. We moved on to toggling front panel switches, then paper
tape. The languages slowly evolved too: assemblers, Fortran, and so on
all tried to make things easier for the human programmer. Ruby is at a
fairly high point in this evolutionary chain.

Why do this? Because the cost of programming isn't in the translation
from what we write to what computers can run. That's trivial, and it's
linear. The true cost of programming is the difficulty in
communicating: communicating ideas, communicating intent,
communicating algorithms. The higher level the language (the theory
goes), the fewer barriers there are to communication.

XSLT is remarkably ugly to read. It's hard to differentiate code from
data, and there's noise everywhere. So in that way XSLT represents a
backwards step in terms of communicating: it makes it easier for the
computer (by representing code in XML) at the expense of the person
doing the coding.

I don't know if it's evil.


Dave