XSL is Sucks

I had the opportunity to learn some XSL this week, and was quite excited to dive on in to this hot technology.

2 days later, I was all ready to write a full piece on XSL and how much of a stinking turd it is. But after some Googling, I realized I didn’t have to, because other people already wrote that article, 4 years ago:

XSLT, Perl, Haskell, & a word on language design [kuro5hin]
XSL Considered Harmful [xml.com]

So I’ll be brief:
* XSL is a programming language, despite what you may have been told.

* XSL Stinks. Stinks Bad. Really Bad. It’s hard to use. Really hard. It’s hard to read, too.

* XSL makes easy stuff hard, and hard stuff damn-near impossible. Try munging a string or date with XSL.

* XSL exists in the weird vacuum world where XML is the be-all, end-all problem solver. This world is called ‘The World where XML is something more than text files’

* XSL is a product of the “Markup Geeks”, who seem to think that programming in a markup language is a good thing. ‘It’s Turing complete!’ Right. That’s what matters to a programmer on a crunch deadline, Turing completeness.

* XSL is a W3C spec – more proof that the W3C has gone completely bonkers.

* Pick a programming language – any programming language – and accomplish the same task in 5 minutes, in 5 lines, as a whole gob of XSL does.

I predict the quiet and unceremoneous death of XSL in the near future. Look at ASP.NET, Smarty, JSTL, CFML, Mason, Freemarker, or any simple template class to see why.*

* Hint: You can transform XML in damn-near any programming language – Javascript, Flash, PHP, etc…