worth checking this out from 1996 https://www.youtube.com/watch?v=98LdFA-_zfA kind of ironic he was moving away from patterns to more fundamental concepts just as the software world was just discovering patterns. I think his shift to these more fundamental concepts is a much better way to think about design.
readthenotes1 15 hours ago [-]
Alexander's thesis Notes on the Synthesis of Form contained the description of the design techniques, low coupling and high cohesion that were later brought into software in the mid-60s.
It's hard to get more fundamental than that, in software at least.
I remember trying to read his four book Magnum opus and found it much too dense. I think he settled on "life" as the quality without a name.
orthoxerox 14 hours ago [-]
Not "life", "wholeness". I also quit midway through the second book out of four, too much woo.
maCDzP 13 hours ago [-]
I work in civil engineering and tinker with computers as a hobby. I found Alexander’s work delightful. It really helped me think about my profession and my hobby and how they tie together.
He also talks about community in a city, so it walks across all scales in the build world.
That really helped me think about ”scale” and what phenomena emerges at different scales. I haven’t seen those thoughts about community when I have read about patterns in SWE.
Patterns mostly revolves around solving specific problem in programming, but I haven’t yet found something that uses the same thoughts on a larger scale explicitly. I believe there are patterns for how to architect multiple softwares, but what’s beyond that scale? Say how to integrate different SWE communities.
shoo 13 hours ago [-]
> I haven’t seen those thoughts about community when I have read about patterns in SWE
Maybe a bit of a tangent to your point:
one major difference that jumped out at me about Alexander's work vs the software engineering 'patterns' is how much emphasis Alexander places on involving the people who will live & work in the buildings in the design process. Some of this involved including the building's eventual inhabitants during rapid prototyping -- it's really cheap to experiment with different building outlines when it's just folks standing around in an empty plot of land prototyping the outlines with pegs & string.
I first read about Alexander's work in the book _Peopleware_, they described this aspect of it as "local control of design by those who will occupy the space". A space that can be customised to the needs of those who use it.
That's something completely absent in the software engineering 'pattern language' stuff, which tends to feel more like ivory tower big design up front by the architect / throw it over the fence to the users.
While the narration of the talk itself is likely lost to time and "people weren't recording everything in 2002"... the slides linked are reasonable signposts of the author's ideas.
The key points I believe occur on slide 12.
Patterns vs. "Patterns"
The pattern language does not tell you how to design anything
It helps you decide what should be designed
You get to make up whatever patterns you think will lead to good designs
---
I believe that people read the GoF Design Pattern book as a textbook or bible rather than what the authors were doing of "these are things that we discovered while writing a word processor" ... and are useful ways of looking at those problems. But then those patterns got enshrined in some holy temple as you need to do these things and this is how you build software".
Patterns got turned into a prescriptive thing that people do to build software and for a long while people were often coming up with the question "did I discover a new pattern" ... which when you read Alexander's book becomes a silly question.
The larger systems that contain software, or which software comprises, are the workflows that software sustains. Those workflows then comprise departments, organizations, businesses, and eventually cross-business interdependencies, supply chains, etc.
I.e. just like C. Alexander's patterns quickly leave the realm of laying brick, the same logic appled to software quickly leaves the realm of writing code.
jmalicki 13 hours ago [-]
A lot of people talk about building software "ecosystems". But that's more management/marketing than SWE, but that's where you build similar scale. You have Linux, products built on Linux, software written for Linux, sub-communities like KDE, etc. and how you build those communities and allow both diversity for different ideas, but with a shared common core and how that evolves.
But that's like an upper management type concern, you usually don't call that "SWE" anymore.
JSR_FDED 19 hours ago [-]
This is amazing, other than minor quibbles I think this has captured every aspect of what makes places at every scale good for humans to inhabit.
Once you read it you’ll recognize what makes a certain neighborhood feel so right. Or what makes some towns and villages perfect in terms of liveability.
And it carries through to what makes some houses feel instantly perfect.
It does seem very western though, I wonder how many of these patterns work in Asia or Africa for example?
estearum 8 hours ago [-]
I presume that Alexander would argue the materials and specific aesthetic decisions would (and critically should) change to local vernacular/craft/resources, but that the higher-order patterns that should emerge from them would be nearly identical.
Nelkins 5 hours ago [-]
Nice, thanks for putting this together.
I do find it a bit funny that the main image is of a building with fake shutters, which is somewhat against the ethos of A Pattern Language.
queuebert 16 hours ago [-]
I highly recommend getting the full book. This should be required reading for every housing developer. If you ever felt like a house or community was uncomfortable or made you subconsciously unhappy, you might find the reason in this book.
gumby 18 hours ago [-]
Why, really? Each pattern is barely a page or two long (well, with a picture it spills over). The point is already to be brief, but also provide some context. Just reading one lets you muse on the concept and see if it fits with gig. The same technique was used in The Society of Mind for the same reason.
I know you put work in, but your site is essentially a listicle, basically missing the purpose.
Christopher Alexander was very influential on the construction of our house, such as the recommendation against corridors and having any passages become living space.
It's hard to get more fundamental than that, in software at least.
I remember trying to read his four book Magnum opus and found it much too dense. I think he settled on "life" as the quality without a name.
He also talks about community in a city, so it walks across all scales in the build world. That really helped me think about ”scale” and what phenomena emerges at different scales. I haven’t seen those thoughts about community when I have read about patterns in SWE.
Patterns mostly revolves around solving specific problem in programming, but I haven’t yet found something that uses the same thoughts on a larger scale explicitly. I believe there are patterns for how to architect multiple softwares, but what’s beyond that scale? Say how to integrate different SWE communities.
Maybe a bit of a tangent to your point:
one major difference that jumped out at me about Alexander's work vs the software engineering 'patterns' is how much emphasis Alexander places on involving the people who will live & work in the buildings in the design process. Some of this involved including the building's eventual inhabitants during rapid prototyping -- it's really cheap to experiment with different building outlines when it's just folks standing around in an empty plot of land prototyping the outlines with pegs & string.
I first read about Alexander's work in the book _Peopleware_, they described this aspect of it as "local control of design by those who will occupy the space". A space that can be customised to the needs of those who use it.
That's something completely absent in the software engineering 'pattern language' stuff, which tends to feel more like ivory tower big design up front by the architect / throw it over the fence to the users.
While the narration of the talk itself is likely lost to time and "people weren't recording everything in 2002"... the slides linked are reasonable signposts of the author's ideas.
The key points I believe occur on slide 12.
---I believe that people read the GoF Design Pattern book as a textbook or bible rather than what the authors were doing of "these are things that we discovered while writing a word processor" ... and are useful ways of looking at those problems. But then those patterns got enshrined in some holy temple as you need to do these things and this is how you build software".
Patterns got turned into a prescriptive thing that people do to build software and for a long while people were often coming up with the question "did I discover a new pattern" ... which when you read Alexander's book becomes a silly question.
My own rant on the cult of pattern... https://the-whiteboard.github.io/2016/09/02/patterns.html
... One of my favorite pages to link on career advice is Find the Hard Work You're Willing to Do https://news.ycombinator.com/item?id=26209541 ... The previous blog post that shows up on that same page is "Why Patterns Failed and Why You Should Care" https://www.cs.uni.edu/~wallingf/blog/archives/monthly/2018-... which is also a good read (which in turn links to another talk - https://www.deconstructconf.com/2017/brian-marick-patterns-f... which has transcript and video)
I.e. just like C. Alexander's patterns quickly leave the realm of laying brick, the same logic appled to software quickly leaves the realm of writing code.
But that's like an upper management type concern, you usually don't call that "SWE" anymore.
Once you read it you’ll recognize what makes a certain neighborhood feel so right. Or what makes some towns and villages perfect in terms of liveability.
And it carries through to what makes some houses feel instantly perfect.
It does seem very western though, I wonder how many of these patterns work in Asia or Africa for example?
I do find it a bit funny that the main image is of a building with fake shutters, which is somewhat against the ethos of A Pattern Language.
I know you put work in, but your site is essentially a listicle, basically missing the purpose.
Christopher Alexander was very influential on the construction of our house, such as the recommendation against corridors and having any passages become living space.
https://www.patternlanguage.com/