Ian Bicking: the old part of his blog


But my entire point was that a simple templating language isn't up to the task of presentation. If you want the templating language to handle presentation, it must be a powerful and complete language, because presentation isn't an easy problem. I don't think tools should be crippled in order to keep people from doing what they shouldn't -- carrots are better than sticks.

PHP, for instance, has "powerful" templates, with nothing except templates. So stuff gets all mixed up. But the problem isn't that the templates in PHP are too powerful. Rather they lack the carrot to keep people from putting code in templates. In Zope DTML was a mess, but that had a lot to do with the lack of Python Scripts. You still get growth issues, but those are refactoring issues. When things get messy you refactor them -- that's the natural development process, and messiness is an inevitable side-effect of development. But those things should be fixed -- the dumb template alternative is to avoid messiness and refactoring by keeping people from doing anything at all, or by forcing them to create sub-standard presentations.
Comment on Smart vs. Dumb Templates
by Ian Bicking