Tuesday, September 12, 2006

Design Patterns of 1972

Mark 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.

2 Comments RSS · Twitter

Uhm... That argument bites itself in the tail. He actually says himself that "Patterns are signs of weakness in programming languages."

Patterns are how langauges are improved. People develop patterns to artificially create more abstraction in a given language. Subsequently, these patterns get implemented into newer languages and newer versions of older languages.

Patterns are possibly the main factor leading to improvements in programming languages and to the development of new programming languages.

It sounds like you largely agree with the article's point that patterns should be used to improve languages and create new ones, rather than as a growing list of techniques that coders should learn and keep applying manually. As to your last sentence, I'd like to see a historical survey, but my guess is that while patterns have led to language improvements, many patterns themselves arose as "backports" of ideas from other languages.

Leave a Comment