Patterns are good.
Yes… where needed. Not as a checklist (“oops, forgot to use Abstract Factory, now where can I shoehorn that in?”), not where inappropriate (“hey, let’s make each instance of this class its own Singleton!”), etc… but mainly to make up for deficiencies in the language. Hence the confusion of, for instance, Java programmers migrating to Ruby:
- “So how do you do Dependency Injection?”
- “You just… inject your dependencies.”
- “Uh, right, but, ummm… what frameworks do you use for that?”
- “Why would we need a framework to do something so trivial?”
Or from any typical OO language to any typical FP language… finding so many of their classical patterns Just Don’t Apply.






















