On Tue, Feb 17, 2004 at 11:39:07AM -0500, Dan Sugalski wrote:
: At 8:30 AM -0800 2/17/04, Larry Wall wrote:
: >So perhaps we need a different word than "does" to indicate that
: >you want to include the Dog interface without including the Dog
: >implementation.  Perhaps we can do that with "is like(Dog)" or some
: >such if we don't want to Huffman code it shorter.  Then people who
: >believe only in Interfaces can use the same underlying system-defined
: >Roles without compromising their Java-bedeviled value system.  :-)
: 
: You could, I suppose, use "implements" to note that a class provides 
: the role all by itself, and "imports" to note that it brings in the 
: role from an external source.

I think you are using the word "role" to mean "implementation".
I prefer to use "role" to mean both interface and implemention.
But I like your idea of using "implements" when you want to force
yourself to override the complete implementation, and it will make Java
programmers comfy.  However, I still prefer "does" for pulling in the
complete role including both interface and implementation, in part
for Huffmanly reasons, but also to get the programmer concentrating
on the actual semantic relationships rather than the mechanism.
In other words, for the same reason Perl changes other C-ish words
to more natural English words:

    C           Perl
    ------      ------
    switch      given
    case        when
    break       last
    continue    next

Plus I think we should hold the "imports" notion in reserve for
talking about how to pull in bits of modules.  It's okay to think
of "does" as a kind of fancy import or include, but I'd rather bias
the verbiage in favor of a more abstract view.

Larry

Reply via email to