[Zope-dev] Speaking of 2.6...

Brian Lloyd brian@zope.com
Wed, 17 Apr 2002 10:37:22 -0400


> > I understand that REQUEST.set()/dtml-set is to be used sparingly in 
> > general, but in some situations there is no alternative. And it 
> appears to 
> > be a widely used Zope(2) idiom as well.
> > 
> 
> Exactly. dtml-set is just a user-friendly replacement for those horrible
> <dtml-call "REQUEST.set(..)"> constructs.

Hmm. REQUEST.set is considered evil (it pre-dates dtml-let and 
other approaches by a long shot), which is why I'm a bit hard-headed 
about this :) 

The hope was always that dtml-let would cause REQUEST.set(...) to 
die out, because it is way too easy for people to get into trouble 
with REQUEST.set(). The hard-headed part of me would rather that 
people *have* to type something ugly, as a reminder that they are 
doing something ugly :^) Having a nice spelling can make it so nice 
that you don't realize at all that you're walking all over request 
variables (especially for newbies).

That is why I wanted to avoid using REQUEST. I understand your 
point of view, but we always have to balance the needs of the 
experienced Zope hacker against the infamous 'steep learning 
curve' problem that newbies run into. We are trying to be more 
careful about putting things in the core that have behavior 
that might surprise people or otherwise make their experience 
confusing. To me, that is the main decision to be made here.


Brian Lloyd        brian@zope.com
V.P. Engineering   540.361.1716       
Zope Corporation   http://www.zope.com