design patterns in ruby: any good?

Discussion in 'Ruby' started by Giles Bowkett, Jan 8, 2008.

  1. Giles Bowkett, Jan 8, 2008
    #1
    1. Advertising

  2. Giles Bowkett

    pat eyler Guest

    On Jan 8, 2008 9:46 AM, Giles Bowkett <> wrote:
    > Has anybody read it? Does it come recommendafied? I still haven't
    > found a great tech bookstore in Los Angeles so I haven't browsed it.
    >


    I liked it. If you'd like the overview, I reviewed it here:

    http://on-ruby.blogspot.com/2007/12/design-patterns-in-ruby-review.html


    > --
    > Giles Bowkett
    >
    > Podcast: http://hollywoodgrit.blogspot.com
    > Blog: http://gilesbowkett.blogspot.com
    > Portfolio: http://www.gilesgoatboy.org
    > Tumblelog: http://giles.tumblr.com
    >
    >




    --
    thanks,
    -pate
    -------------------------
    Duty makes us do things, Love make us do things well.
    http://on-ruby.blogspot.com http://on-erlang.blogspot.com
    http://on-soccer.blogspot.com
     
    pat eyler, Jan 8, 2008
    #2
    1. Advertising

  3. Giles Bowkett

    Guest

    , Jan 8, 2008
    #3
  4. > > Has anybody read it? Does it come recommendafied? I still haven't
    > > found a great tech bookstore in Los Angeles so I haven't browsed it.

    >
    > I liked it. If you'd like the overview, I reviewed it here:
    >
    > http://on-ruby.blogspot.com/2007/12/design-patterns-in-ruby-review.html


    Excellent review! Gives me an idea for a good blog post, too -
    patterns and idioms in the Rails source.

    --
    Giles Bowkett

    Podcast: http://hollywoodgrit.blogspot.com
    Blog: http://gilesbowkett.blogspot.com
    Portfolio: http://www.gilesgoatboy.org
    Tumblelog: http://giles.tumblr.com
     
    Giles Bowkett, Jan 8, 2008
    #4
  5. Giles Bowkett

    Jake Cutter Guest

    On Jan 8, 2008 1:26 PM, Giles Bowkett <> wrote:
    > > > Has anybody read it? Does it come recommendafied? I still haven't
    > > > found a great tech bookstore in Los Angeles so I haven't browsed it.

    > >
    > > I liked it. If you'd like the overview, I reviewed it here:
    > >
    > > http://on-ruby.blogspot.com/2007/12/design-patterns-in-ruby-review.html

    >
    > Excellent review! Gives me an idea for a good blog post, too -
    > patterns and idioms in the Rails source.


    Nice review, but coverage of the GoF patterns? But I've read so many
    otherwise intelligent folks say that the GoF patterns were created to
    address the limitations of less flexible languages, and that there's
    no need for them in a language as powerful as Ruby...

    What gives?

    Jake
     
    Jake Cutter, Jan 8, 2008
    #5
  6. Giles Bowkett

    Jake Cutter Guest

    On Jan 8, 2008 1:26 PM, Giles Bowkett <> wrote:
    > > > Has anybody read it? Does it come recommendafied? I still haven't
    > > > found a great tech bookstore in Los Angeles so I haven't browsed it.

    > >
    > > I liked it. If you'd like the overview, I reviewed it here:
    > >
    > > http://on-ruby.blogspot.com/2007/12/design-patterns-in-ruby-review.html

    >
    > Excellent review! Gives me an idea for a good blog post, too -
    > patterns and idioms in the Rails source.


    Nice review, but coverage of the GoF patterns? But I've read so many
    otherwise intelligent folks say that the GoF patterns were created to
    address the limitations of less flexible languages, and that there's
    no need for them in a language as powerful as Ruby...

    What gives?

    Jake
     
    Jake Cutter, Jan 8, 2008
    #6
  7. > Nice review, but coverage of the GoF patterns? But I've read so many
    > otherwise intelligent folks say that the GoF patterns were created to
    > address the limitations of less flexible languages, and that there's
    > no need for them in a language as powerful as Ruby...
    >
    > What gives?


    I was wondering about that myself. I think the Singleton pattern gets
    used a lot in Ruby, though. Definitely a question worth asking.

    --
    Giles Bowkett

    Podcast: http://hollywoodgrit.blogspot.com
    Blog: http://gilesbowkett.blogspot.com
    Portfolio: http://www.gilesgoatboy.org
    Tumblelog: http://giles.tumblr.com
     
    Giles Bowkett, Jan 8, 2008
    #7
  8. Giles Bowkett

    James Gray Guest

    On Jan 8, 2008, at 2:03 PM, Giles Bowkett wrote:

    >> Nice review, but coverage of the GoF patterns? But I've read so many
    >> otherwise intelligent folks say that the GoF patterns were created to
    >> address the limitations of less flexible languages, and that there's
    >> no need for them in a language as powerful as Ruby...
    >>
    >> What gives?

    >
    > I was wondering about that myself.


    Ruby isn't immune to design patterns.

    Some patterns are very trivial in Ruby (Visitor is basically just a
    method that takes a block), and some others don't make as much sense
    in Ruby (Factory isn't nearly as important with classes being objects
    themselves). Ruby also inspires some new patterns, I believe. The
    ideas that led to the design patterns and many of the patterns still
    apply to Ruby in some fashion though.

    James Edward Gray II
     
    James Gray, Jan 8, 2008
    #8
  9. On Jan 8, 2008 8:08 PM, Jake Cutter <> wrote:
    >
    > Nice review, but coverage of the GoF patterns? But I've read so many
    > otherwise intelligent folks say that the GoF patterns were created to
    > address the limitations of less flexible languages, and that there's
    > no need for them in a language as powerful as Ruby...
    >
    > What gives?
    >


    IMO, patterns give you a common vocabulary to speak with other
    developers and a way to refactor existing code.
    Raganwald wrote a good blog entry about it
    http://weblog.raganwald.com/2008/01/problem-with-problem-with-design.html
     
    Thomas Wieczorek, Jan 8, 2008
    #9
  10. Michael Brooks, Jan 9, 2008
    #10
  11. > Hello Giles:
    >
    > You may also find this Scribd document interesting:
    >
    > http://www.scribd.com/doc/396559/gof-patterns-in-ruby


    Gracias! It was useful actually -- I forgot about Singleton being in
    the std lib.

    Pat's review says the book covers only 14 of the GoF's original 23
    patterns, I think that's the explanation for the disparity between
    "Ruby makes design patterns useless!" vs. "design patterns can be
    useful in Ruby." Presumably the missing 9 are considered either not
    necessary, or just less interesting, in Ruby.

    --
    Giles Bowkett

    Podcast: http://hollywoodgrit.blogspot.com
    Blog: http://gilesbowkett.blogspot.com
    Portfolio: http://www.gilesgoatboy.org
    Tumblelog: http://giles.tumblr.com
     
    Giles Bowkett, Jan 9, 2008
    #11
  12. Giles Bowkett wrote:
    >> Nice review, but coverage of the GoF patterns? But I've read so many
    >> otherwise intelligent folks say that the GoF patterns were created to
    >> address the limitations of less flexible languages, and that there's
    >> no need for them in a language as powerful as Ruby...
    >>
    >> What gives?

    >
    > I was wondering about that myself. I think the Singleton pattern gets
    > used a lot in Ruby, though. Definitely a question worth asking.
    >


    Well ... I have the book. I'm totally unfamiliar with the GoF book. I
    know it's a classic, but I've just never gotten around to learning
    design patterns. So I got the book and I like it. If you're already an
    expert on design patterns from another language, for example, from "Head
    First Design Patterns" (Java) I rather doubt you'll learn anything from
    this book that you don't already know. But for me, it's exactly what I
    need. :)
     
    M. Edward (Ed) Borasky, Jan 9, 2008
    #12
  13. Giles Bowkett

    Dean Wampler Guest

    [Note: parts of this message were removed to make it a legal post.]

    On Jan 8, 2008 3:02 PM, Thomas Wieczorek <> wrote:

    > On Jan 8, 2008 8:08 PM, Jake Cutter <> wrote:
    > >
    > > Nice review, but coverage of the GoF patterns? But I've read so many
    > > otherwise intelligent folks say that the GoF patterns were created to
    > > address the limitations of less flexible languages, and that there's
    > > no need for them in a language as powerful as Ruby...
    > >
    > > What gives?
    > >

    >
    > IMO, patterns give you a common vocabulary to speak with other
    > developers and a way to refactor existing code.
    > Raganwald wrote a good blog entry about it
    > http://weblog.raganwald.com/2008/01/problem-with-problem-with-design.html
    >
    >

    Here's a good blog on this "controversy"
    http://peripateticaxiom.blogspot.com/2008/01/problem-with-problems-with-patterns.html

    dean


    --
    Dean Wampler
    http://www.objectmentor.com
    http://www.aspectprogramming.com
    http://aquarium.rubyforge.org
    http://www.contract4j.org
     
    Dean Wampler, Jan 9, 2008
    #13
  14. Giles Bowkett

    John Wilger Guest

    On Jan 8, 8:46 am, Giles Bowkett <> wrote:
    > Has anybody read it? Does it come recommendafied? I still haven't
    > found a great tech bookstore in Los Angeles so I haven't browsed it.


    I thought it was well written. Personally, I didn't really learn
    anything new from it, but I've strongly suggested that the less
    experienced developers on my team give it a read. Perhaps it's got
    something to do with the fact that it uses Ruby to discuss the
    patterns, but the book also seems to be more approachable than its GoF
    counterpart. (Could also just be that I've had a lot more experience
    with such things since I read the GoF book the first time.)

    --
    Regards,

    John Wilger
     
    John Wilger, Jan 9, 2008
    #14
  15. Giles Bowkett

    pat eyler Guest

    On Jan 8, 2008 12:08 PM, Jake Cutter <> wrote:
    > On Jan 8, 2008 1:26 PM, Giles Bowkett <> wrote:
    > Nice review, but coverage of the GoF patterns? But I've read so many
    > otherwise intelligent folks say that the GoF patterns were created to
    > address the limitations of less flexible languages, and that there's
    > no need for them in a language as powerful as Ruby...
    >
    > What gives?


    I didn't want to say anything when this was first asked, because I was in
    the middle of an interview with Russ Olsen (the author) at that point. I just
    posted the interview this morning, so if people are still wondering why
    design patterns are important even in a language like Ruby, you might
    want to take a look:

    http://on-ruby.blogspot.com/2008/01/russ-olsen-interview.html

    >
    > Jake
    >
    >




    --
    thanks,
    -pate
    -------------------------
    Duty makes us do things, Love make us do things well.
    http://on-ruby.blogspot.com http://on-erlang.blogspot.com
    http://on-soccer.blogspot.com
     
    pat eyler, Jan 11, 2008
    #15
  16. On Jan 11, 2008 3:37 PM, pat eyler <> wrote:
    >
    > I didn't want to say anything when this was first asked, because I was in
    > the middle of an interview with Russ Olsen (the author) at that point. I just
    > posted the interview this morning, so if people are still wondering why
    > design patterns are important even in a language like Ruby, you might
    > want to take a look:
    >
    > http://on-ruby.blogspot.com/2008/01/russ-olsen-interview.html
    >


    Thank you for the interview! I think I go and buy the book right now.
     
    Thomas Wieczorek, Jan 11, 2008
    #16
  17. Giles Bowkett

    Russ Olsen Guest

    M. Edward (Ed) Borasky wrote:
    >
    >
    > Well ... I have the book. I'm totally unfamiliar with the GoF book. I
    > know it's a classic, but I've just never gotten around to learning
    > design patterns. So I got the book and I like it. If you're already an
    > expert on design patterns from another language, for example, from "Head
    > First Design Patterns" (Java) I rather doubt you'll learn anything from
    > this book that you don't already know. But for me, it's exactly what I
    > need. :)


    Far be it for me to disagree with someone who seems about ready to buy
    my book, but... oh well.

    You see, I think that if you picked up a book on design patterns in Java
    on your way to writing a program in Ruby, you will be making a serious
    mistake. As others have pointed out, Ruby is different from Java and the
    other traditional programming languages in some serious ways: open
    classes,
    and dynamic typing to name just a couple.

    What I did in the book was to stand back and look at each pattern and
    ask
    a couple of questions: "What problem is this pattern trying to solve?"
    and, critically, "How do people typically solve this problem in Ruby?"

    Turns out that sometimes the Ruby solution is pretty much the same as
    the Java solution. A Composite in Ruby is pretty much the same as a
    Composite in Java. But for many of the patterns - here Commands and
    Iterators come to mind - the Ruby solution is radically different
    than the Java solution. Why? Those are the kind of questions that I
    tried to answer in the book.

    One of the nice things about Ruby is that many problems are much easier
    to solve. The last thing we need is folks writing Java or C# code in
    Ruby. We need people writing Ruby in Ruby.


    --
    Posted via http://www.ruby-forum.com/.
     
    Russ Olsen, Jan 14, 2008
    #17
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Abhijit Mhatre
    Replies:
    2
    Views:
    453
  2. crichmon
    Replies:
    4
    Views:
    510
    Mabden
    Jul 7, 2004
  3. Tim Smith
    Replies:
    2
    Views:
    883
    Tim Smith
    Dec 15, 2004
  4. CellDivider
    Replies:
    11
    Views:
    680
    Jerry Coffin
    May 28, 2007
  5. Michael Bernhard Arp Sørensen

    Howto on callbacks, queues and good design patterns

    Michael Bernhard Arp Sørensen, Dec 29, 2007, in forum: Python
    Replies:
    2
    Views:
    288
    Lorenzo Mainardi
    Dec 29, 2007
Loading...

Share This Page