[Zope-DB] writing a template to test if the sql worked
Charlie Clark
charlie at egenix.com
Thu May 6 03:45:35 EDT 2004
On 2004-05-06 at 09:10:25 [+0200], Bogdan M. Maryniuck wrote:
> On Wed, May 05, 2004 at 11:08:26PM +0200, Dieter Maurer wrote:
> > While ZPT is slower than DTML it has less feature bloat and
> > is more orthogonal than DTML.
> > Therefore, it is easier than DTML.
As far as I recall there are two reasons why ZPT is slower than DTML:
1) DTML is already in optimised C code
2) ZPTs are more subject to Zope security checks
As these are both implementation issues it is reasonable to expect that ZPT
will get faster.
> But when you do really something advanced, you see your ZPT object is
> fullfilled
> lots of <span tal:bla ... /> with omit-tag things. As result, you see your
> ZPT
> template object nor easier to read neither less complex in general.
Actually, I find that the examples in the Zope book lead to more complex
code than necessary. True a big ZPT will be complex but the code will
entirely be related to presentation, this is what Dieter means by orthogonal.
> Second: to get ZPT look good, you need separate your single DTML in dozen
> of PythonScripts
> and several ZPT objects. Does it makes life more easy?
Absolutely! It encourages modularity, structure and code reuse: my
presentation code does, my data access code does that, my procedural code
does that.
> Third: I found in general when you do DTML, this is much less to write.
>
> Other funny thing is: ZPT invented for people to get Zope more easy.
> Ironically, DTML
> still more easy and more simple...
Only to get going. ie. <dtml-var> as opposed to <block metal:use-macro> for
reusing bits of code. Once you get onto more complicated stuff DTML just
gets surreal and painful.
I found the transition from DTML zo ZPT a little difficult myself but once I
understood that anything more complex than a Python statement was best
passed to a Script I never looked back. In fact I would refer to a thread
from April 2004 and particularly Jim Penny's mails re. doing all the hard
stuff in scripts:
http://mail.zope.org/pipermail/zope-db/2003-April/001720.html
mm, the particular mail I was thinking about seems to be missing.
> Clue: ZPT and DTML both are OK. The only different where you use it.
No, DTML and all other forms of inline scripting are inherently evil.
Speaking as a polyglot rather than a programmer: mixing database, procedural
and presentation code together is like mixing different natural languages
together and it is very easy to get mixed up and once that happens (and it
will!) it gets really difficult to work out what's actually being said.
Charlie
More information about the Zope-DB
mailing list