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

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

Expand Messages
  • Forrest Chang
    I suppose it s worth hashing out what we mean exactly by design for this discussion. I get the impression there is a notion, of I drew these UML diagrams (or
    Message 1 of 111 , Jul 1, 2007
      I suppose it's worth hashing out what we mean exactly by design for this
      discussion. I get the impression there is a notion, of "I drew these UML
      diagrams (or other abstract representation), and while the code in language
      A is much less than the code for it in language B, the design is the same."


      On the other hand there is a saying floating around XP circles that says
      "The code is the design" as well. For those sorts what code is required is
      very much part of the design.

      In the "same UML, different code" realm, one must realize that different
      languages can drastically simplify if not altogether eliminate "design
      constructs" necessary in other languages. For a simple example, for most
      the most common usages of the iterator pattern, in Ruby you need to only
      implement an each() method, versus the iterator class and corresponding
      baggage typical for C++/Java/C#. For a more in depth look see this
      http://norvig.com/design-patterns/ppframe.htm, where Peter Norvig explains
      that 16 of the 23 GOF Design Patterns are "invisible or simpler" in
      Dylan/Lisp. I would say that would go a long way towards simpler designs by
      either criteria.

      Forrest



      On 7/1/07, Dave Nicolette <dnicolet@...> wrote:
      >
      >
      > > > > more complex than, say, Java designs.
      > > >
      > > > Are you describing design as such or language-dependent implementation
      > > > details?
      > >
      > > If the language forces me to write more code for the same design, that
      > > matters, no?
      >
      > It matters, yes.
      >
      > I just don't think it's a design question per se.
      >
      > Dave
      >
      >


      [Non-text portions of this message have been removed]
    • 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
        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.