I wouldn’t be surprised if Christopher Alexander’s “A Pattern Language” was more influential in the field of computer programming than it was in architecture. I’ve encountered the discussion of patterns much more frequently in books about computer programming than in books about architecture, and I’ve read a lot more architecture books than programming books. The computer programming books have given me a lot more to think about. There’s a poetry and a humor to writing about programming that I miss in architecture. Take The Zen of Python, a set of style guidelines for the programming language Python:
- Beautiful is better than ugly.
- Explicit is better than implicit.
- Simple is better than complex.
- Complex is better than complicated.
- Flat is better than nested.
- Sparse is better than dense.
- Readability counts.
- Special cases aren’t special enough to break the rules.
- Although practicality beats purity.
- Errors should never pass silently.
- Unless explicitly silenced.
- In the face of ambiguity, refuse the temptation to guess.
- There should be one– and preferably only one –obvious way to do it.
- Although that way may not be obvious at first unless you’re Dutch.
- Now is better than never.
- Although never is often better than right now.
- If the implementation is hard to explain, it’s a bad idea.
- If the implementation is easy to explain, it may be a good idea.
- Namespaces are one honking great idea – let’s do more of those!
This is hot shit. I think the design ethos is clear even if you don’t have a programming background. There is humor and paradox. It’s opinionated. It’s irreverent and serious. I love it. I’ve tried to write a Zen of Python inspired style guide for my designs a few times. I haven’t gotten a full set that sings yet, but it’s rewarding every time I try. Here are a few Kate and I came up with while working on the design for a sauna we’re planning on building in our back yard:
- Out-of-time is more romantic than timeless.
- It should make sense to build.
- Wonder and delight should be a part of our everyday lives.
- But we shouldn’t forget what planet we’re on.
- Design should be generous.
- Using less concrete is better – unless it’s not.