[Zope3-dev] what is ZCML?

Martijn Faassen faassen at infrae.com
Wed Mar 15 07:04:00 EST 2006


Shane Hathaway wrote:
> Jim Fulton wrote:
> 
>> Shane Hathaway wrote:
>>
>>> +1.  When I learn a skill, it is at first completely explicit, and as 
>>> the skill becomes predictable and reliable, it gradually becomes 
>>> implicit.  If I kept everything explicit, I would hinder myself from 
>>> building higher level skills.
>>>
>>> So explicit is better than implicit until a sufficiently tight 
>>> abstraction comes about.  Take memory management: yesterday it was 
>>> explicit (malloc/free); today it's mostly implicit (garbage 
>>> collection). Garbage collection is both an abstraction, since 
>>> programmers no longer manage memory directly, and an indirection, 
>>> since programmers now use APIs that call malloc and free.  We all 
>>> agree GC is good, so explicit is definitely not always better than 
>>> implicit.
>>
>> Thanks for explaining "Explicit is better than implicit,
>> except when it's not."
>  
> Admittedly, I should have posted that in my blog, not here. :-)

I appreciated you making it explicit, Shane, even though I already knew 
and fully agree. :)

I sometimes express this principle as "magic is bad unless it's perfect 
magic". Do post it on your blog.

Regards,

Martijn


More information about the Zope3-dev mailing list