Loading ...
Sorry, an error occurred while loading the content.

Re: Programming Languages and XP (was Re: [OT] Re: [XP] Extreme Testing!)

Expand Messages
  • Ron Jeffries
    ... Suppose in our design we wish to have two classes supporting some small set of methods, doX, doY, doZ. Suppose those two classes don t want to have a
    Message 1 of 111 , Jul 1, 2007
    • 0 Attachment
      Hello, Dave. On Sunday, July 1, 2007, at 1:58:05 PM, you wrote:

      > Are you describing design as such or language-dependent implementation
      > details?

      Suppose in our design we wish to have two classes supporting some
      small set of methods, doX, doY, doZ. Suppose those two classes don't
      want to have a common superclass.

      In Smalltalk we would just have the two classes, and they would each
      implement the methods in question.

      In Java and C# we would have two classes and an interface.

      Thus the Smalltalk design(!) includes only two elements, and the
      Java / C# design(!) includes three elements.

      In addition, the Java / C# code includes a reference to the
      interface in any class that wants to send those messages to an
      object. The Smalltalk code does not.

      I would argue that the existence of the interface thing is
      definitely a design element, and I could argue either side of
      whether having the reference to the interface present is an element
      of design or not.

      Ron Jeffries
      www.XProgramming.com
      The rules are ways of thinking, not ways to avoid thinking.
    • J. B. Rainsberger
      ... I understand your point. I was partly acting as the devil s advocate and partly asking a genuine question about Smalltalk as a Smalltalk novice. Take care.
      Message 111 of 111 , Jul 6, 2007
      • 0 Attachment
        Ron Jeffries wrote:

        > Hello, J.. On Thursday, July 5, 2007, at 11:44:11 PM, you wrote:
        >
        > > So is the interface an important element of the design? In Smalltalk,
        > > the interface is implicit, because we can only deduce it by noticing the
        > > same method signatures in multiple classes and looking for the client
        > > code that uses the corresponding classes polymorphically (not knowing a
        > > more proper way to express that idea). Does Smalltalk then not obscure
        > > intent in this area? If not, why not?
        >
        > It can. There are implementations of interface-like things if you
        > want them. And other ways of expressing the thing.
        >
        > On the other hand, polymorphism without all that rigidity has value
        > too.
        >
        > But my only point was that the two designs, as reflected in the
        > code, are different. I'm not making a claim as to which one is
        > better, only that the language does make a difference to the design,
        > at least as implemented.

        I understand your point. I was partly acting as the devil's advocate and
        partly asking a genuine question about Smalltalk as a Smalltalk novice.

        Take care.
        --
        J. B. (Joe) Rainsberger :: http://www.jbrains.ca
        Your guide to software craftsmanship
        JUnit Recipes: Practical Methods for Programmer Testing
        2005 Gordon Pask Award for contribution Agile Software Practice
      Your message has been successfully submitted and would be delivered to recipients shortly.