Hacker News new | past | comments | ask | show | jobs | submit login
A Pattern Language (patternlanguage.cc)
219 points by lambdaba 14 days ago | hide | past | favorite | 44 comments



To quote Dorian Taylor[no affiliation, albeit we do follow each other on Twitter & BlueSky] from https://twitter.com/doriantaylor/status/1585008553554677762:

"Chances are if you're in software or digital design, you've heard of the book A Pattern Language, well, you may not be aware that Christopher Alexander effectively renounced patterns in 1996 (https://youtu.be/98LdFA-_zfA). He said he had something better…

The problem is, that better something happens to be four books and 2500 pages, and weigh 12 pounds. And, it's about buildings, not software. So my service to you is interpreting the text for software, and cutting the reading down by an order of magnitude."

That "something better" being Christopher Alexander's Opus Magnum, "The Nature of Order". Dorian's working on this under the name "The Nature of Software" here:

https://the.natureof.software/

And here:

https://buttondown.email/natureofsoftware/


I think it's worth it for people to start by reading Alexander's writing themselves first before relying on synthesis. Alexander's aim was not simply "good ways of building things." I also think it's important for folks not to think that software and buildings are so different that the work needs translation. Alexander was after universal principles, after all.

A Pattern Language is great but a lot of folks miss that it's part 2 of a greater work, with part 1 being The Timeless Way of Building.

Another great Alexander book that flies under the radar is Notes on the Synthesis of Form. It's a little hard to read but there is deep deep insight about design and the design process in that little book. Highly recommend.

And lastly, anyone interested should read A City Is Not A Tree: https://www.patternlanguage.com/archive/cityisnotatree.html


If you're going to read the whole Alexander corpus (which I did minus the two hardest-to-find volumes—the Linz Café and the one about carpets), be prepared for it to take on the order of years. While there is for sure a lot of repetition, the insights are frustratingly smeared across the entire thing.

Moreover, there is a clear arc to Alexander's career that goes a little like:

• Mathematical era (PhD/Notes on the Synthesis of Form, A City is not a Tree)

• Pattern era (Timeless Way, APL, and about four case studies)

• 15 properties era (Nature of Order)

As one might expect, a lot of the earlier work is recapitulated in the later work, but the fact that he explicitly deprecated patterns at his OOPSLA 1996 keynote (https://youtu.be/98LdFA-_zfA ) is important. People are aware of APL because of Gang of Four and Richard Gabriel etc but not so much that lecture.

As for the fifteen properties in Nature of Order, they mainly concern Euclidean geometry and the ordinary physics one would associate with constructing actual buildings. The evidence that they would need to be adapted to a more generic semiotic-topological domain such as software is the fact that Alexander himself saw fit to draw up (in Book 4) eleven analogous properties pertaining exclusively to colour (a 1:1 correspondence except for four which coalesce two of the geometric properties each). Concepts like "life", "wholeness", "center", "the fundamental differentiating process" etc. can be used unchanged.


I really wanted to read the work about carpets also and even found a copy available online. The price was massive sticker shock however and I couldn't justify buying it.

I love that OOPSLA lecture, incidentally. In my view the software industry really missed the mark on what Alexander was outlining there.


Yeah, it was about a thousand bucks the last time I checked and probably more now that he's passed. Why I ultimately didn't feel too bad about not reading it was because from what I understand, its contents are ostensibly mostly covered in Nature of Order. Same goes for Linz Café. I am, however, glad I read The Mary Rose Museum because it has a contract in it (excerpted in Nature of Order) that inspired me to write my own service contract "from scratch" (for some value of the term).

As for the software industry, it really latched on to patterns because (and Alexander himself nails it) they offer both a format and a formula for exchanging ideas that are either too ephemeral to write into a library, or otherwise transcend particular languages/frameworks. A lot of the really important insights though appear to have been lost in the process. (I have the Gang of Four book and a Fowler book, and have found neither to be especially useful.)


Same - when I saw the carpet book for sale it was over a thousand. Looks like a beautiful book but that is a lot of money.

Have you visited any of Alexander's buildings? I still need to get out and see some.

I saw a lecture from Kent Beck (a huge proponent of Alexander as you probably well know) and he talks about going to the University of Oregon and being inspired by the architecture. As the story goes, he then learned about Alexander but was too poor a college student to afford any of the books. So he read Timeless Way and Pattern Language standing at the shelf in the student bookstore. I like that story because I feel it illustrates the power of Alexander's work - if it grabs you, then it really grabs you.


Haven't visited any because the majority are private residences (although this one in Berkeley-ish has been on and off the market https://www.zillow.com/homedetails/700-Hillside-Ave-Albany-C... ). The only ones you can just go to are West Dean in the UK and Eishin just outside Tokyo (which IIRC you need an appointment for). I suppose there's also the Fresno farmer's market but that's barely a building.

(You may also be able to go to the Mexicali compound which is apparently still standing: https://maps.app.goo.gl/UkwKqYDrGBcfQLnd6 but don't know what the story is with it.)


Addendum:

He also has a good retrospective or précis (medium-length expository summary) on Christopher Alexander, how his views changed, and his work, here:

https://dorian.substack.com/p/at-any-given-moment-in-a-proce...


I don't know that he "renounced" patterns -- throughout the Nature of Order tetralogy, he refers to many of these patterns when discussing a multitude of examples that appear in these books.

The central tenet of Nature of Order (as far as I understand it) is that spaces can support life, that there's a certain liveliness to structure, "life" as a quality. The presence or absence of patterns is used throughout to argue the extent to which a certain space or structure has this quality.

It's all quite esoteric and wonderful at the same time. Most challenging books I've ever attempted to read.


He literally says (at 39:48 https://www.youtube.com/watch?v=98LdFA-_zfA&t=2388s) "And it's because [the patterns are] only really fragmentary perceptions of this deeper structure that I'm describing [i.e., centers, the 15 properties…], that they are ultimately unsatisfactory; I think they're not capable of delivering the goods." So maybe not an outright renunciation per se, but definitely a deprecation.

Thanks for bringing attention to this; I just released Chapter 8: Deep Interlock & Ambiguity. Gonna try to get Chapter 9 (Contrast) out on a reasonable schedule.

My first thought when seeing this link was "Oh look! HN is repping that cool book about buildings."

Something that I love about A Pattern Language, and which I have seen few imitators attempt, is that it addresses a vast range of scales.

The book begins audaciously by asserting that the world should be divided into political regions of population no greater than 10 million; because "regions will not come to balance until each one is small and autonomous enough to be an independent sphere of culture".

https://patternlanguage.cc/Patterns/Independent-Regions-(1)

After this anarchist utopia, the patterns proceed to describe the distribution of towns and cities, responses to large geographic features like valleys versus hilltops, the layout of towns, suburbs, streets, sites, buildings, and rooms, all the way down to types of chairs and the half inch of trim that joins walls of different materials.

It features detours into aged care ("old people everywhere"), political economy ("self-governing workshops and offices"), culture ("dancing in the street").

Maybe the closest software work I've seen with this scope is the "blue book" on Domain-Driven Design, but even that doesn't come close to addressing the political economy of software, or the act of writing code.

And that's probably fine, but it really does put A Pattern Language in a class of its own.


That's an excellent summary, and I think it explains what many people (myself absolutely included) got a bit wrong when patterns first became popular in software development some years ago. While I managed to avoid the trap of pattern-itis and try to fit everything into some pattern or other, I still worked with the oversimplification that patterns were simply about a language, a way of communicating. DDD emphasised that very strongly, and it has value, but to see it as only that means missing the vast scope of the original work.

I think most people read books on software patterns and heard about the original inspiration, and (without having read it) assumed it was the same "but buildings". In reality, it is as much a work of philosophy and sociology as it is about architecture - it's about lives and how people fit together more than how bricks fit together. It stands in a long tradition, Le Corbusier, for example, deriving systems for living and modular approaches to constructing space such as the Unité d'Habitation.

It would be fantastic if we could get software people to read this kind of thing before they see what it's inspired in the software world - there's so much more to learn from disciplines older than ours (which is effectively all of them). A more comprehensive theory of building software systems (based on the human aspects, the social, etc., rather than the dry economic and project-management aspects comprising most formal books on such things) seems like a significant step in our little world.


> it's about lives and how people fit together more than how bricks fit together

That's a great way of putting it!

> Le Corbusier, for example, deriving systems for living and modular approaches to constructing space

I agree the comparison is apt, but I much prefer Alexander's humane, bottom-up, anarchistic approach than Le Corbusier's authoritarian high modernism.

Reading The Oregon Experiment is great context for A Pattern Language, seeing the way they envisioned the pattern language being used by a community. And the kinds of organisation they needed to couch it in, the way they needed to change the budgeting process to enable many more smaller projects, the way they co-opted staff and students into planning groups rather than have a siloed professional office.

But, sadly it doesn't seem like this approach has been influential. I can't think of many other places that work this way! So while I do also wish more software people had read and appreciated this work, I don't think it's the immaturity of the software industry that prevents us from appreciating these ideas.

In the introduction to A Pattern Language, the authors write "towns and buildings will not be able to come alive, unless they are made by all the people in society". I wonder if this is also true of software.


I agree entirely on Le Corbusier, while I love the eventual outcome of his work in many senses (aesthetically certainly), his approach to actual people was (as you say) far less humane than Alexander. Alexander I think saw himself as a part of "the people" - from what I know of Le Corbusier, I don't imagine he did.

I've not yet read The Oregon Experiment (it's in one of the waiting piles) but I've skimmed it. Funnily enough, the comparison you make around changing budgeting processes to enable smaller projects, having users working as part of planning, etc. reminds me of some of the original intents of agile before it was co-opted. For agile to work it couldn't just be isolated as software delivery - it had to change the organisations it worked with/within. I remember having just such an argument many years ago about governments building software using ostensibly "agile" approaches, and yet still requiring three-year budget approaches from the national treasury - they simply weren't compatible!

That final quote is wonderful, and I do feel the same about software in many ways - all the true wonder of computers and the things they can do for people will never really benefit everyone fully unless it spans the national, the corporate, and the personal.


This book (and the timeless way of building) were so important when we designed our house with our architect.

Two points that have stuck with me in the decades since:

1- find the nicest place in your property and don’t build there

2- corridors are wasted space because you travel through them and don’t linger. In the end we had only one corridor like space, and it had glass walls on all sides (one side was doors open all summer) so you felt like you were outside, plus it expanded so there was a place to sit.

The two page chapter structure works well for this. The Society of Mind uses the same structure.


Me and my wife also wanted to eliminate corridors as much as possible when we designed and discussed our house with an architect few years ago. Because of the property constraints and our other requirements about all of rooms we abandoned the idea of eliminating corridors and ended up with one long corridor through the middle of the house. After living in the house now for a few weeks we have no regrets - our son can run and ride in the corridor in the way he would not be able to otherwise and we found a way to decorate it that is quite pleasing. I am not saying that someone may be able to architect the house in other way to better use "wasted space" as you put it but we are very happy with our decision.


I’ve commented about this book here before. It’s very useful across multiple disciplines. What drew me to it was video game level-design. There’s a section on how churches and temples often have these increasingly smaller and more intimate chambers as you go deeper into the building. I found it super helpful as a lot of these little details are difficult to intuit. I appreciate that you can open the book to almost any page and gain tremendous insight.


I was introduced to it, if I remember correctly, via a post on The Dark Mod forums (a Thief-like mod engine). The pattern in question was "positive outdoor space", on the importance of creating places between buildings, rather than just plopping discrete monoliths onto an empty plain.

(Funnily enough, the way the original Thief engine worked was beginning with a fully solid universe which the level designers would carve air volumes out of to create the level. This was due to how the engine prioritised sound propagation. So Thief levels had to have positive outdoor spaces!)


>What drew me to it was video game level-design.

Was it Jesse Schell's The Art of Game Design for you, too? I loved that book when I thought I was going to become a game designer. When someone like Schell spoke so highly of Alexander it was plain he had to must be something really special.


What a great project, thank you. I appreciate that you can link to specific chapters, for example [0], or the one that I haven't been able to stop thinking about for twenty years [1],--though the latter would really benefit from the illustration.

[0] https://patternlanguage.cc/Patterns/Connection-to-the-Earth-... [1] https://patternlanguage.cc/Patterns/City-Country-Fingers-(3)


I think about Arcades[1] constantly as I walk about. Reading A Pattern Language for the first time was a revelation, because so many of the patterns put words to things I already thought or felt. Cascade of Roofs was another one like that, which explained to me something I already found beautiful.

[1] https://patternlanguage.cc/Patterns/Arcades-(119)


I'm the "compiler" for this project (to say author would be aggrandizing) and it is so cool to see this on HN!

Glad to see some discussion and sharing!


I think it's great, nicely done! Tools like this to condense and cross-reference complex information to something you can reference easily is very useful to a human like myself.


Outstanding rendition of one of my favorite works. Much appreciation!

Very glad to see this site, but I still recommend people buy the book.

Read it from cover to cover, slowly, or just dip in when you have 5 minutes downtime without a screen. It has wonderful photos. The writing is poetic. The themes are mesmerizing.

It slowly descends the gradient of life, from humanity to town to commerce to recreation to family to solitude.

If I had to sum it up in one word, I would say humaneness. It is a wonderful musing on the human condition, as well as a series of concrete recommendations on how to improve it.


A nice side-effect, is that it will help you to make your home a lot more livable.

My favorite pattern is "Light From Two Sides." Amazingly simple, and absolutely correct. Not sure where it is, in there, but I remember it clearly, when I read the book.


I could not agree more. It's a shame it is not more accessible but it's why I cite the book itself for the full pattern.


The project's readme about "How it's made"[1] is interesting. The content of the Markdown repo is enjoyable to explore as an Obsidian vault[2].

I’d like to say that I wrote some clever site scraper and then algorithmically generated everything but the real answer is that it was mostly done by hand with a template for the pattern structure, the help of Obsidian’s auto-complete combined with a keyboard macro to convert (and correct) the links, and many dozens of hours typing, copy-pasting, and tweaking. I reference these patterns directly in my Obsidian vault. I began in 2020 but I didn’t work on it in earnest until November of 2023 with a final push in April of 2024.

The “master” version is my Obsidian vault. I have a custom Fish function (apl-copy) using rsync to copy from my vault to the Markdown repo that contains the patterns (and list of patterns), the README, and the LICENSE as markdown files.

[1] https://patternlanguage.cc/README#how-its-made

[2] https://github.com/zenodotus280/apl-md


I've since had to make some changes so that I can benefit from crowd-sourced errata! I'm pleased you've pulled it into Obsidian - that's where it really shines.

According to wikipedia (which was itself inspired by this document's original form) this apparently inspired that software wiki that gets posted here occasionally: https://c2.com/ppr/


It's a wonderful book. I first heard about it while diving into urban planning and only afterward learned that (software) developers knew it as well.

I still evaluate physical or digital spaces accordingly. The patterns also influenced the way I approached my own research years later. (And I still often mentally refer to A Pattern Language even though 20 years ago a friend never returned my copy.)


"Four-Story Limit (21)" "There is abundant evidence to show that high buildings make people crazy."

Does anyone know more?


The full book contains several citations, here's one:

> The strongest evidence comes from D. M. Fanning ("Families in Flats", British Medical Journal, November 18, 1967, pp. 382-86). Fanning shows a direct correlation between incidence of mental disorder and the height of people's apartments. ... And it is not simply a case of people prone to mental illness choosing high-rise apartments.

A Pattern Language was published in 1977.


I've read the book before but I guess I kinda forgot about this point. Scary.


Here's some other posts on Alexander's work:

Beautiful Software: Christopher Alexander's research initiative on computing - https://news.ycombinator.com/item?id=34011469 Dec 2022 (40 comments)

Do You See a Pattern? - https://news.ycombinator.com/item?id=972023 Dec 2009 (30 comments)

“A pattern language” explained (2016) - https://news.ycombinator.com/item?id=18644150 Dec 2018 (22 comments)

A Pattern Language (1977) [pdf] - https://news.ycombinator.com/item?id=27458721 Jun 2021 (22 comments)

Christopher Alexander: An Introduction for Object-Oriented Designers - https://news.ycombinator.com/item?id=4965552 Dec 2012 (19 comments)

The Timeless Way of Building (1979) - https://news.ycombinator.com/item?id=10164427 Sep 2015 (19 comments)

Toward a Theory of Design as Computation - https://news.ycombinator.com/item?id=8032648 Jul 2014 (19 comments)

Some Notes on Christopher Alexander (2008) - https://news.ycombinator.com/item?id=22869481 Apr 2020 (18 comments)

A City Is Not a Tree (1965) - https://news.ycombinator.com/item?id=21916408 Jan 2020 (17 comments)

Christopher Alexander – Patterns in Architecture (1996) [video] - https://news.ycombinator.com/item?id=17480178 Jul 2018 (17 comments)

Christopher Alexander: A Primer [video] - https://news.ycombinator.com/item?id=24033936 Aug 2020 (11 comments)

Notes on The Timeless Way of Building (2018) - https://news.ycombinator.com/item?id=23525259 Jun 2020 (10 comments)

Fifteen Fundamental Properties (2022) - https://news.ycombinator.com/item?id=40340220 May 2024 (10 comments)

A City Is Not a Tree (1965) [pdf] - https://news.ycombinator.com/item?id=9970090 Jul 2015 (7 comments)

Finding meaning in The Nature of Order - https://news.ycombinator.com/item?id=38009174 Oct 2023 (5 comments)

Christopher Alexander’s Distribution of Towns - https://news.ycombinator.com/item?id=9443072 Apr 2015 (4 comments)

The Origins of Pattern Theory: Christopher Alexander at OOPSLA (1996) - https://news.ycombinator.com/item?id=11334395 Mar 2016 (4 comments)

Notes on the Synthesis of Form (1964) [pdf] - https://news.ycombinator.com/item?id=9020588 Feb 2015 (3 comments)

The Fifteen Fundamental Properties of Wholeness (good design) - https://news.ycombinator.com/item?id=4965528 Dec 2012

Empirical Findings of 'The Nature of Order' [pdf] - https://news.ycombinator.com/item?id=14502297 Jun 2017

Plus everything that has been described using the phrase "pattern language", and a lot of the word "pattern" in reference to software design: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...


Only missing the example drawings now. Is book artwork covered by a different license than book text? Or maybe it is just hard to digitize and integrate those images.


This site has most of the images, although not explicit backlinks.

https://patterns-dev.github.io/patterns/clean2/patterns.htm


fun coincidence - I've been playing with the ideas from pattern language as ai art prompts for a while now - the project's the primary focus of my twitter feed for anyone who'd like to have a look.

https://twitter.com/Eucyclos1


one of the most magnificent books ever written


The website is good. But I urge people to get the book. It's a charming object. Every time you open it you land up at a charming, humanistic idea - with wonderfully evocative images. I cherish the summer I spent reading the patterns willy-nilly. It permanently changed the way I thought about space - it really matters, it changes how you feel and think, and the best part - you have agency! Make a beautiful life for yourself and those around you.

what a gift


Thanks for bringing this online! Must have been a lot of work and passion.

Wish: try and bring it close to the original feel of APL and see how you like a subtle css change:

a.internal { text-transformation: lowercase; font-variant: small-caps; background-color: none; }

a { // color: omit // font-weight: omit }

Give it a try, please.

Maybe make it configurable per user?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: