durusmail: quixote-users: A toy Nevow implementation
A toy Nevow implementation
2004-01-15
2004-01-15
2004-01-15
2004-01-15
Debug syntax errors in PTL (was: A toy Nevow implementation)
2004-01-15
Debug syntax errors in PTL (was: A toy Nevowimplementation)
2004-01-15
Debug syntax errors in PTL (was: A toy Nevowimplementation)
2004-01-16
Jason E. Sibre (2 parts)
Debug syntax errors in PTL
2004-01-22
Debug syntax errors in PTL
2004-01-18
2004-01-18
2004-01-15
Re: A toy Nevow implementation
2004-01-16
2004-01-19
Re: A toy Nevow implementation
2004-01-19
Re: A toy Nevow implementation
2004-01-19
2004-01-19
2004-01-19
2004-01-19
2004-01-19
2004-01-19
2004-01-19
2004-01-19
2004-01-20
2004-01-20
2004-01-20
2004-01-20
2004-01-21
2004-01-20
A toy Nevow implementation
Jason E. Sibre
2004-01-15
A.M. Kuchling wrote:
> It's a neat hack, removes some classes of error such as nesting tags

Agreed, but...

I feel some misgivings about the whole lot.  While it is really cool, and
has a certain elegance to it's implementation, I don't think I would ever
*choose* to use it (except maybe to play with it).  Here's why:

I *can't* count on one hand the number of languages I have to work with on a
regular basis in order to get goals accomplished.  Nevow certainly gets cool
points, but the syntax is, while elegant, unlike anything else I have to
work with...  I can't see a good reason to saddle myself with yet another
syntax which in the end, serves primarily to abstract away (or is it
obfuscate?) the HTML I'm already very familiar with.  It seems that as the
number of languages I learn increases, my understanding of programming
concepts improves, but my ability to sit down with any given language and be
immediately productive decreases.  I have difficulty remembering the
syntactic idiosyncrasies of that particular language.  I may be unique in
this regard, but I doubt it.  Granted, Nevow is Python, but it looks like it
relies far too much on cleverly taking advantage of Python's hooks, than on
providing a clean, readable syntax, one of Python's greatest strengths.

PTL has a couple of oddities about it, but it does a great job of leaving
the HTML looking like what's going to end up in the browser...  This is
important to me at debug-time.  PTL does introduce some strangeness to what
is otherwise normal Python syntax, but it really just boils down to two
things, (I think) which are easily groked, and don't give me headaches when
I look at them.

There is one flaw with PTL in my mind, and it relates to the way syntax
errors (detected at compile time) are handled, which is, in my experience,
not very well.  But this may be due to poor implementation on my end, or a
quirk of the FastCGI mechanism (which I use)...  For example, improperly
indented code, or mismatched parenthesis, misplaced colons, etc, can be hard
to track down, because it never tells me WHERE it's wrong, only that
importing that module failed.  .py files don't exhibit the same problem.
I've tried looking into this from time to time, but keep getting stymied
when trying to understand what actually happens when a module is imported.
I haven't heard anyone else complain of this, which makes me think it's a
side effect of something else I'm doing (wrongly, perhaps!).

Anyway, this has been more of a philosophical writing than a technical one,
so I'm gonna shut up now (hopefully without inducing too many flames).  I
will say that I'm not trying to convince anyone not to use Nevow or that it
is "bad", just stating why I don't think I'll ever use it, and that I hope
PTL (or something like it) remains in Quixote for the foreseeable future
(whether it has a sibling named Nevow, zpt, etc, or not).


Reserving the right to change my mind (it is pretty cool!),
Jason Sibre



reply