I'm Not In Love · 15 May, 10:16 PM

I've come to realize that I'm not in love with Textpattern. This relationship had the instant attraction down pat, but the infatuation ended pretty rapidly when I logged into the admin interface and was greeted with a dizzying array of options. It's a bit of a letdown: Textpattern looks simple on the surface, but is in fact much more complex than it lets on. However, I've decided what I really don't like about Textpattern is Textile: the almost markup language that's the default for composing articles. Sure, it's nice to be able to start new paragraphs with a line break and "link to myself":http://www.eighty-twenty.net with essentially 3 additional characters, but simple linking is outweighed by the rest of the markup. For some reason, the markup choices just don't make sense to me: to me, the common inline markup cases should be things like *emphasis*, _underline_, !strong!. Textile is quite fussy in its handling of whitespace, specifically newlines - block elements simply won't register unless there's a blank line between the preceding block and the next one.

But overall, the chief problem is that Textile is not a language. More properly, it's not a DSL whose syntax is well-defined by a grammar. Textile is one of those regular expression projects gone wild, and like every over-ambitious regex, it abounds in quirks and funny edge-cases. There's a reason that the typical parser generator uses Regex only for the lexing stage, and that's because Regex isn't very good at carrying context. But that hasn't stopped programmers from creating "languages" that amount to glorified lexers. Jeff Atwood said today that

None of these lightweight markup languages are particularly difficult to understand -- and they're easy on the eyes, as promised. But I still had to look up the reference syntax for each one and map it to the HTML that I already know by heart. I also found them disturbingly close to "magic" for some of the formatting rules, to the point that I wished I could just write literal HTML and get exactly what I want without guessing how the parser is going to interpret my fake-plain-text.

and that sums up the net effect perfectly - you end up with a language that's seductively easy, but comes with some positively psychotic behavior once you get comfortable.

— Gordon Weakliem

---

Comment

Commenting is closed for this article.