By Peter Bell

Design patterns = Language Deficiencies

Just saw a great post on design patterns in software engineering, showing how objects and even subroutines were just design patterns back in the day and suggesting that many design patterns are simply signs of deficiencies in the programming languages used.

The iterator example is fairly compelling and I could also see how factories and even abstract factories could be added to a language. I think Ruby on Rails is a little immature to be considered a true "invisible MVC language element". I am actually quite happy with MVC sitting as a framework on top of a language rather than extending the actual language to be MVC supportive (although simple things like an input scope merging URL and form scope with defined, configurable precedence rules and a special "persist" scope for information you want to be auto persisted in forms and via URL links might be nice!).

Favorite quote?

The best response to identification of these patterns is to ask what defects in those languages cause the patterns to be necessary, and how the languages might provide better support for solving these kinds of problems.

Maybe we could look at the patterns we use and suggest them as language extensions to Adobe? I know the CF OO contingent is small, but wouldn't it be great to have the first programming language that obviated the need for some common OO patterns like factories and decorators?

Conceptual only right now. Haven't yet processed how or if this would actually be implemented. Any thoughts on how to make it work?

Comments
BlogCFC was created by Raymond Camden. This blog is running version 5.005.