[Zope3-dev] Proposed terminology change: distinguish between "implements" and "provides"

Jeremy Hylton jeremy@zope.com
07 Mar 2003 14:36:23 -0500


On Fri, 2003-03-07 at 13:48, Phillip J. Eby wrote:
> After studying the proposal further, it seems to me that a big source of 
> confusion in talking about interfaces is the overloading of the term 
> "implements" to describe two things:
> 
> 1) the interfaces that a class provides for its instances
> 2) the interfaces that a specific object supports
> 
> I would like to suggest that we use two different words for these things, 
> both in discussion and in the terminology of the API.
> 
> Because in other languages "implements" already means #1 above, I think we 
> should stick with "implements" for that concept, but we should have a 
> different word for idea #2.  I suggest "provides", although I think an 
> argument could be made for "supports" as well.

There were a bunch of internal discussions earlier where suggestions
like this came up.  I dislike the use of closely related words like
implements, provides, or supports to mean different things.  I'll never
be able to remember which word maps onto which concept.  All the
concepts are closely related to implementing interfaces.  I think an
object that supports an interface must provide an implementation for it,
perhaps through its class.  So support, provide, and implement all mean
basically the same thing in my mind.

Jeremy