13 September 2006
Patterns and language
The Universe of Discourse makes a simple statement: Patterns are signs of weakness in programming languages.
I had made a similar-but-different statement previously where I had likened code generation to a proto-language. Code generation points out deficiencies in the host language that can be fixed either in that language or in a new one. UoD makes an eloquent argument. The concept of subroutines would have been considered a design pattern in the 1960s since they did not exist as part of (most) languages available at the time. Considered today, subroutines are assumed since they have been pushed down into the language. Similarly, the Byzantine frameworks of MFC or EJBs have been absorbed by features such as System.Windows or @MessageDriven, respectively. Knowing what WinMain() is is no longer a badge of honor, it's an AARP card.
Coding Horror asks the question: Has Joel Spolsky Jumped the Shark?
My answer recently has been an irritated "yes." Denouncing new langauges because they obviate the need for existing and utilitarian knowlege is just elitist. A week ago I had started-then-abandoned an entry examining his blatant not-invented-here position w/r/t Wasabi. His mix of the two positions end up stating simply that "new is bad unless it's my new."