Design Patterns as a statement of failure  

By Aristotle Pagaltzis under Talk on 01. October 2006

Mark Jason Dominus:

If the Design Patterns movement had been popular in the 1980’s, we wouldn’t even have C++ or Java; we would still be implementing Object-Oriented Classes in C with structs, and the argument would go that since programmers were forced to use C anyway, we should at least help them as much as possible. But the way to provide as much help as possible was not to train people to habitually implement Object-Oriented Classes when necessary; it was to develop languages like C++ and Java that had this pattern built in, so that programmers could concentrate on using OOP style instead of on implementing it.

Update: and an excellent follow-up by Mark addressing a response by Ralph Johnson (one of the Gang of Four).

3 Responses to “Design Patterns as a statement of failure”

  1. Danno:

    Holy guacamole! New lesscode articles!

    This one hits close to home for me. I’m taking a Generic Software Design class and I think they should change the name to “Exploring operations that have been done millions of times by people on C++ data types”.

    Half of the time we keep revisiting the fact that an algorithm should have certain performance guarantees, but in practice, even in the GNU versions of the STL, there are performance violations. So, I’m like, “Well, christ, if we can’t even get one of the most important distributions in the world to be well written, what hope does Joe Programmer have.”

    Of course, I don’t say that outloud because I don’t want to fail the class, but I’m damned well thinking it.

    comment at 01. October 2006

  2. Trevor Baca:

    Couldn’t agree with the quote from Mark more. I’ve been leading development work at two different development companies (NetworkIP and Jaduka.com) and at both companies we’re just now finishing up a move from almost eight years of C into a brighter, newer future in python, neatly bypassing both Java and C++ for most of the significant server-side code in our projects. And what’s been more important than anything — especially with the move to python — has been pattern agreement and understanding on our team. In general, we as programmers as a whole probably did need the intermediate state of enforced-OOP that Java and C++ provided. And it’s nice that we’re now able to apply patterns directly, regardless of langauge.

    comment at 27. October 2006

  3. Pianelli:

    I´m using Design Patterns in all on my projects written in PHP5. And I think you get your code more flexible than without design patterns.

    comment at 05. April 2007