[Zope3-dev] Re: Grok sprint 2 reports

Martijn Faassen faassen at startifact.com
Wed Jan 10 05:35:11 EST 2007


Martin Aspeli wrote:
> Peter Bengtsson wrote:
>>> Philipp has posted a blog entry with a good example of Grok code:
>>>
>>> http://www.z3lab.org/sections/blogs/philipp-weitershausen/2007_01_09_you-thought-zope-3-wasn 

>> Gorgeous!
>> I especially like that you don't have to manually define the template
>> since it's picked up automatically by name.
>>
>> Will the grok effort yield any codegenerating scripts and stuff like
>> the django folks have?
>> If not, I have some ideas that I could maybe contribute with at/for
>> the next sprint even :)
> 
> Code generation sucks. :)

I agree. I'll highlight what you say below:

 > - You should never, ever *need* code generation.

I think the language/library/framework should be powerful enough to 
write things down quickly without the need for code generation. Code 
generation where the end result is something that is expected to be read 
or modified by humans is generally bad, unless it's just about quickly 
setting up an empty project. We will be looking into this for Grok.

> But:
> 
>  - ArchGenXML (hacky though it is) is great for business types because 
> it takes UML (which business analysts understand and customers can be 
> talked through) and produces content types they can CRUD with. 
> Seriously, I've seen people sell big Plone jobs on AGX (kinda scary).

Yes, and even though I think everything I said above is true, I also 
think that tools like ArchGenXML can be valuable. I just don't want such 
a tool to be a way to generate repetitive bad code, as usually I'll be 
working on the level of the code. If there is to be tools, I want a tool 
like that that can generate clean non-repetitive code. That is, I don't 
want a tool to become an excuse to say: oh this code can be repetitive 
and unwieldy, it's just you use a tool to generate it anyway.

>  - Don't invent a new code generator. Please. :) PasteScript does quite 
> well, and seems to be adopted by others, e.g. Pylons. We already use it 
> to make new egg-like packages for Plone.

Agreed. We're looking into PasteScript, I believe. Philipp has been 
looking into this.

Regards,

Martijn



More information about the Zope3-dev mailing list