Terminology: one interface "extending" another
Chapter 3: Parameterized typing with generics: 3.4.3
Created: 29/01/2008
Last updated: 29/01/2008
Eric picked up on the fact that I talk about IEnumerable<T> extending IEnumerable. It's the correct language in terms of the specification, but Eric's not a big fan of the term. He regards extension as being about reuse of implementation, whereas specifying a "base" interface is about saying that "any object fulfilling this contract must also fulfill this other interface".
Me? I like the term just fine. I don't see any necessary connection between extension and implementation. If someone's adding more provisions to a contract of any description, I'm happy to call that an extension. My guess is that Eric is right in terms of a very computer science specific use of the word extension, but I think the implication to common developers (like me) is clear.
It's rare for me to not be a stickler for appropriate terminology, but I guess in this case I just haven't been exposed to the strictly correct usage enough to worry too much.