[Zope-dev] Python and Perl scripts

Michel Pelletier michel@digicool.com
Fri, 20 Oct 2000 14:18:47 -0700


jpenny@universal-fasteners.com wrote:
> 
> > >
> > >'Script' objects make a lot of sense, they don't overload the concept of
> > >methods, they describe an action that people commonly want to do (script
> > >the web) and they clear up a lot of potential confusion for newbie and
> > >old-hat alike.
> > >
> 
> Oh, yuck!  Now we have to explain why PythonScript is safe, and JavaScript
> sucks rocks (from a security standpoint).  

The proposal is not for PythonScript but a "Python Script".  We are not
inventing a new language, this is python, we are just coming up with the
name for an object.  Don't capitalize it and you'll see what I mean.  Go
write a python script.  I'm gonna write a python script that handles
this HTML form.  If we do this with a python script instead of a DTML
method, it will be much clearer.  Wow, this perl script has lots of
slashes in it.

> And from common web convention,
> it would appear that PythonScript would run on the client side, rather
> than the server side.  Since the -let suffix appears to have taken on
> a server side connotation, perhaps that can be used.

Hmm.  Yes I agree the -let suffix may have a sttronger server side
flavor, but I disagree that the word script has any strong connection to
the client only.

> Python Function is not quite right, as it is fairly common (for me, at
> least) to define some helper functions in a Python Method.  But it is
> better than Python Script.

Function is just as technical as method.  These are OO techncial
programming terms (function less than method).  The idea is to lower the
bar for people using Zope.  People who only know HTML will be much more
likely to grok what a script is than a method.  We want to avoid
elitism.  Method is total OO elitism, function less so because it's very
language neutral, and script is like plain vanilla ice cream, everyone
gets it.

Like chocolate and coconut-shaving covered almonds, technical details
mixed in with your ice-cream will appeal only to a smaller crowd.  It
will not help define what 'ice cream' is.  It will turn away a group of
users who may have never know they could mix in sardines and sweet
tarts.  Technical details before the key idea is explained is
*dangerous* belive me, and it is the pitfall of all existing Zope
documentation to date.

The new DC documentation motto is "Explain key ideas in simple terms." 
Method is not a simple term.

> So, I guess my preferences would be:
> 
> PythonSafeScriptlet
> PythonScriptlet
> PythonSafeScript
> PythonSafeFunction
> PythonFunction
> PythonBundle
> PythonMethod
> PythonScript
> 
> in descending order of preference.

I'll add these to the list of candidates.  Thanks!

-Michel