After viewing this video on InfoQ about functional design patterns I was wondering what resources are out there on design patterns for non-object orientated paradigms. There are plenty out there for the OO world (GOF, etc, etc) and for architecture (EoEAA, etc, etc) but I'm not aware of what's out there for functional, logic, or other programming paradigms. Is there anything? A comment during the video suggests possibly not - does anyone know better?

(By the way, by design patterns I don't mean language features or data structures but higher level approaches to designing an application - as discussed in the linked video)

2 Answers 2


The best books I have come across that where not about OOP, but about programming in general is the Art of Computer Programming books (3 books when I bought them - now a 4th released) by Donald Knuth.


A few years back I used one of his well taught data processing algorithms to speed up an import/merge of 100,000+ records from about a 20 minutes process down to about 30 secs.... I was just not doing it the right way!

And remember, before they were called Desigh Patterns, we called them Algorithms!

  • 2
    Design patterns exist at a higher level than algorithms. It's been a looooong time since I read those books but I don't remember them discussing design patterns at all (I could be wrong on that).
    – FinnNk
    Nov 5, 2010 at 14:21
  • I agree, but my point (guess I could have said it better :) ) was before OO and design patterns - this was what we had to learn to do things in a "reusable pattern like manner". Bubble sort, linked list, etc where all "patterns" of buiding blocks to solving problems. I agree Knuth book isn't about "design patterns", but was all we had at the time.
    – MDV2000
    Nov 5, 2010 at 14:38

Design patterns are largely misunderstood. As stated by the authors of the first (?) book about patterns, those 23 listed there are just examples, by no means the are the only, and specially: using them does NOT warranty good programs. One can even do terrible mistakes. It seems we are getting again to the point where Dijkstra paper "goto considered harmful" was completely took out of context... Hopefully this pattern madness will soon get it place. By no means I say patterns are bad, but real good programmers need good algorithms, good "patterns" come easy if you think. This is clearly stated in Gamma book, BTW.

  • 3
    I don't disagree with what you've written for the most part, but for me the main value of patterns is shared and consistent vocabulary when working in a team. I agree that algorithms are important - but so are design patterns.
    – FinnNk
    Jun 24, 2011 at 10:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.