I found The Timeless Way of Buildling to be a remarkable book. I first heard about it when Alexander was mentioned by Steve Dewhurst at SDWest.
And, having read it, I can now safely say that Design Patterns is dead. I’ve always hated the book, but appreciated the value of design ptterns. That said, I learned more about the philosophy of patterns from Alexander’s book than the gang of four could manage. Specifically, early attention is paid by Alexander emphasizing the importance of not applying patterns mechanically. Or, trying to design in terms of patterns.
Rather, Alexander does a good job of recognizing the importance of patterns, only to suggest in the end that the real goal is to transcend and not become conscious of patterns.
Strangely, this is a message counter the software engineering books that discuss the same. They emphasize thinking and working in terms of patterns, using them only as a shared language, and making them building blocks of programming. I think this tends exactly towards Alexander’s criticism of modular construction.
Further, Design Patterns and its ilk devotes little focus to the discussion of the quality without a name.
In short, I think the software engineering books really miss the point. Even without being exposed to any of the software engineering patterns, I think a software engineer can learn more from Alexander’s book about how to think, comprehend and design.
Sorry, experimenting with dropping the Oxford comma there. It makes me uneasy.
In any event, I recommend the book without reservations to anybody who thinks about planning, design, construction, engineering, or communication. 10/10.