Hacker News new | past | comments | ask | show | jobs | submit login
Beautiful Software: Christopher Alexander's research initiative on computing (beautiful.software)
162 points by herbertl on Dec 16, 2022 | hide | past | favorite | 40 comments



I recently rewatched his address to OOPSLA[0] and it was funny to see him trying to avoid coming straight out and saying "you guys completely misunderstood the point of my work!" He tried to allow for the possibility that he was just misunderstanding, but it was pretty obvious that he knew that the Gang of Four style patterns movement took the surface level organization from his work and completely ignored the moral and ethical point of it all.

Glad to see he didn't leave off with that! We could do with more software people studying his actual work, which was building humane, living spaces that make people whole.

[0] https://www.youtube.com/watch?v=98LdFA-_zfA


We could do with more software people studying his actual work, which was building humane, living spaces that make people whole.

It's funny, I just ordered copies of The Timeless Way of Building, A Pattern Language and Notes on the Synthesis of Form earlier this year, intending to start a deep dive into Alexander's work. This is something I've been wanting to do for some time, and kinda regret that it's taken me this long to even get as far as ordering the books. Now to find time to dig into them...

sigh So much to learn, so little time. :-(


i really like this passage from notes on the synthesis of forms:

  > ...since the book was published, a whole academic field has grown up around the idea of "design methods" and I have been hailed as one of the leading exponents of these so-called design methods. I am very sorry that this has happened, and want to state, publicly, that I reject the whole idea of design methods as a subject of study, since I think it is absurd to separate the study of designing from the practice of design. In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about "how" to shape things either.
such an important point... couldn't have said it better myself.


This doesn't really do it justice, but keep A Pattern Language in your bathroom. There are 253 patterns in the book and they generally are around 4 pages or less. Consuming it a few minutes at a time is wonderful, giving you time afterwards to mull over each pattern and their interaction with other patterns.

And you don't need to read it front to back, jumping to a random point is fine too.


>sigh So much to learn, so little time. :-(

You don't have to learn everything by yourself, just leave some of the knowledge to others and focus on knowledge coordination ...

... checks profile

Never mind!

Though, have to tried to open up your tools for ActivityPub and offer your software as an interface to the Fediverse?


Though, have to tried to open up your tools for ActivityPub and offer your software as an interface to the Fediverse?

That's always been the intention, yes. Still a lot of work to do there. We don't have any ActivityPub support yet, but there is a lot of use of RSS/Atom and some limited support for ActivityStea.ms. ActivityPub is on the list, but I've had too many other things to focus on lately to put much energy into that. :-(


SPLASH had another keynote on pattern languages this year. The analogy from architecture to programming languages seemed strained at best - the speaker spent most of the talk on social programming, i.e., programming humans how to act in certain social situations and making design concepts more explicit and user-friendly. He made a big fuss about what a successful consultancy he built around running workshops and distributing baseball cards with different patterns printed on them. I found the whole thing self-aggrandizing and borderline charlatanry for an academic PL conference.


Can anyone who has read Alexander's work recommend one of his books to start with, which focuses on the core moral and ethical views, while being most relevant to CS? For context, I work in k12 computing education, designing new kinds of computing experiences for children.


IMO A Pattern Language really hits the moral and ethical component very well though the format is a bit odd. Notes on the Synthesis of Form is potentially more pragmatically useful to someone working in software.

His wife and some of his proteges teach a program called Building Beauty that forwards his thinking in architecture and I know that they use The Nature of Order. I haven't read it yet but I suspect there's good reason they use that one as the basis of their program.


The format is odd indeed. In retrospect, it's really bold to basically build their thesis by example (although pattern language could be considered as a complement to their timeless way of building volume, like a plates volume of an art history publication).

The great part is not the details of the actual patterns, sometimes they just seem plain wrong (e.g. guidelines for roof massing is what mcmansioms are doing today). The power of the book really is the edifice they create, the making real and making concrete of the harmony between large and small scale, something which is generally only felt. Crazy ambitious.

The moral dimension is not made explicit, and in hindsight, it seems to be injected really subversively. An example: the key indicator of a healthy public realm is one where people feel comfortable taking a nap. It seems somewhat quaint, but then look around outside. Are the people sleeping deviants, or are they kindly old folk taking a quick little doze after feeding the ducks at the pond? Other examples about independent mobility for children etc..

It's frightening how we debased our commons, made it intolerable, and inflict it on our poorest and most vulnerable.

Pattern language reveals this not by rhetoric, but rather a slow stacking of example after example. It's easy to miss if you consult the book as a reference manual, rather than read it as a polemic.


Building Beauty was new to me, thank you for the mention: https://www.buildingbeauty.org/beautiful-software


I think The Nature of Order vol. 1: The Phenomenon of Life is what you’re looking for. Going back in time, The Timeless Way of Building and A Pattern Language show the roots of The Nature of Order series. To look at a recent case study, The Battle for the Life and Beauty of the Earth.

I also recommend looking at works by Salingaros and Mehaffy like Design for a Living Planet, Principles of Urban Structure, and Unified Architecture Theory.


A Pattern Language is the second half of a single work, of which The Timeless Way of Building is the first. From the introduction to A Pattern Language:

> Volume 1, The Timeless Way of Building, and Volume 2, A Pattern Language, are two halves of a single work. This book provides a language, for building and planning; the other book provides the theory and instructions for the use of the language. This book describes the detailed patterns for towns and neighborhoods, houses, gardens, and rooms. The other book explains the discipline which makes it possible to use these patterns to create a building or a town. This book is the sourcebook of the timeless way; the other is its practice and its origin.

> The two books have evolved very much in parallel. They have been growing over the last eight years, as we have worked on the one hand to understand the nature of the building process, and on the other hand to construct an actual, possible pattern language. We have been forced by practical considerations, to publish these two books under separate covers; but in fact, they form an indivisible whole. It is possible to read them separately. But to gain the insight which we have tried to communicate in them, it is essential that you read them both.

The former book expounds the ideas. But it is a weird pile of ideas. Somewhat moral and ethical, also somewhat practical, and also rather mystical. The combination has a religious feel.

The Oregon Experiment is a sort of prequel to The Timeless Way of Building and A Pattern Language. It's an account of the development and application of those ideas to building projects at the University of Oregon. It might be the most approachable explanation of the ideas. It has the considerable advantage of being a ninth the length of the other two combined.


+1 to The Oregon Experiment. It was the first I read and I think gave a great taste of a lot of the ideas in a way that was reasonably understandable. I wrote up some notes at https://www.garethrees.co.uk/2020/03/08/book-notes-the-orego...


You may find that pages ix through xv of The Timeless Way of Building will give you a deep, useful, and quick introduction.


It sounds like you might want to read "Battle for the Life and Beauty of the Earth".

If you want to go deep his magnus opus is "Nature of Order". It's transcendent.


The Timeless Way of Building


Definitely not recommended, only for hardcore anti-modernists. (ie reactionaries)


Well, that’s just like, your opinion, man. I think it lays out a pretty succinct overview of the ethics involved in building any system in a wholistic manner. He changed his statements later to say that “the quality without a name” is, in fact, wholeness.


Not my personal view. Antimodernism became the dominant reactionary worldview in Anglo-Saxon countries. Alexander is at the top of this pole.

/r/evilbuildings for your amusement.


That’s fine. But the book is definitely not just for “anti-modernists.”


I don't think GoF got it wrong. The foundational essence of the approach that maps to software is there. What is wrongheaded is to expect a one-to-one mapping between two entirely distinct subject matters.

CA's architectural approach, stripped of the new age verbiage, is reducible to bottom-up, local action, global effect. There are local conditions with recipes, and patterns of binding/connecting. Together with Frank Lloyd Wright, these two gents have mapped out two distinct approaches to what Wright called Organic Architecture. (Wright following Sullivan used a 'generative system', the famous seed-germ [1], to order and create space.) Both men are pretty big on Beauty, but only one actually delivered beautiful works. Alexander's approach remains a theoretical proposition, unlike Frank Lloyd Wright's generative order approach (which he regrettably did not fully disclose to his proteges.)

And having skimmed the post and the core program course, it is clear these folk don't actually understand software, or anything that is worthy of the name 'Beauty' in software.

"It is a view of programming as the natural genetic infrastructure of a living world which you/we are capable of creating, managing, making available, and which could then have the result that a living structure in our towns, houses, work places, cities, becomes an attainable thing.

That would be remarkable. It would turn the world around, and make living structure the norm once again, throughout society, and make the world worth living in again." -- Christopher Alexander

I'm quite happy to have someone like Alan Kay pontificate on aesthetics of software, but Christopher Alexander is not remotely qualified.

[1]: https://www.archpaper.com/2010/11/remembering-louis-sullivan...


I expect CA was as surprised as anyone when the GoF cargo-culted his ideas into OO software development.

So far as I'm aware he never claimed any particular expertise or experience in software in any of the original books.

The equivalent would be architects taking the design principles of Multics and using them to lay out buildings.

That would be a bizarre thing to do. And it's no less bizarre in the other direction.

What seems to have happened in practice is that the GoF used CA's work to give their own ideas about patterns in OO software development more credibility than it would have had otherwise.

It's not that the idea of OO patterns is inherently bad. But pretending that it's somehow genuinely based on some speculations about built architecture is neither convincing nor credible.

Having said that - the CA quote above makes perfect sense, and it is about beautiful software from the end user's POV.

Which is a view that's often missing from CS and developer culture in general. Typically there's more effort put into forcing humans to act in bureaucratic, corporate, and computer-constrained ways, than in forcing computers to behave in ways that are inclusive, accessible, ecologically stable and robust, and organically open-ended.


I suppose we can ask GoF authors if they needed credibility boost from an obscure (certainly in CS circles) architect.

The quote does not make any coherent sense, it's a sentiment decorated with buzzwords. As I said, if Alan Kay wants to hand wave CS utopia, heck, the man has certainly earned it, and his woowoo talk is actually intellectually far more densely packed and nutritious.

Btw, I said nothing about patterns, OO, good, or bad. We also disagree about portability of concepts and viewpoints across disciplines. I studied architecture in grad school and engineering before that. And learning C/S via vocational route I found my EE and architecture background was beneficial and definitely informed my architectural thinking in software. I merely said you can not have a one-to-one mapping. Here an example: modular thinking -> engineering, architecture, software. But "Pattern Language" on its own is not fully informative of conceptual concerns of software architecture. That was the point.


I think Christopher Alexander (CA) absolutely got the right impression. You don't seem to have watched the CA talk. You probably should. He is not claiming to know anything about software engineering, but he describes what it should achieve, from his "ignorant" point of view. And I will gladly use some of his design insights in my software from now on, and see if and how I can apply them.


You are right, didn't watch it. Will do.


Fantastic talk, never came across this before. He is great at putting into words already back then what now has become quite apparent is missing in our current approach. I've never seen it formulated so clearly. I am not trying to do it here, so you better go and watch the talk.


I agree with huge buildings causing a stress response and modern architecture being generally ugly.

The nicest looking places are smaller in scope with buildings around 4-5 stories, densely packed together which also makes them walkable.

Look at places like hillsboro oregon right by orenco station or delft south holland, these places are what I understand to be closer to human scale.


Is it possible to sympathize and agree with everything he says, and yet find the writing insufferably pompous? Because that's where I'm at with The Timeless Way of Building.

I didn't get that in watching him: https://www.youtube.com/watch?v=98LdFA-_zfA

I was picturing someone like Dan Akroyd on SNL as Leonard Pinth Garnell and "Bad Ballet."


I've recommended his book a lot but I also find the writing itself to be poor. He's very much trying to write like its some (specifically Taoist) mystic text but it comes off as quite cheesy.


I don't disagree that this was a risky bet, and yet now I can't imagine the book being written any other way.


Oh, I can:

https://www.imdb.com/title/tt1703957/

Thomas Wolfe brought Maxwell Perkins a "book" of over 2,000 pages, and he was still writing furiously. Perkins still said "we mean to publish this" and brought it down to a manageable length.

Alexander just needs some tough love.


I’ve been reading “Notes on the Synthesis of Form” recently after seeing it mentioned in an Alan Kay talk. I had never heard of it before. Such an incredible book. Such an elegant argument showing how tightly coupled systems are inherently unstable. I wish I had read it twenty years ago. Made me wonder how much of the idea of structured programming was inspired by it.


This post by Dorian Taylor on Christopher Alexander is a good introduction I found https://dorian.substack.com/p/at-any-given-moment-in-a-proce...


In 2020-2021 I participated in the Building Beauty Online course (the architecture side) and the Beautiful Software seminar. I wrote up as much as I could:

https://www.garethrees.co.uk/building-beauty/



Looks interesting. Doesn’t explicitly state up front, but this is the resource page for the Beautiful Software seminar. https://www.buildingbeauty.org/beautiful-software


It's high time software designers claimed competency in architecture. For example, what is your take on these? https://www.re-thinkingthefuture.com/architectural-community...


> Christopher Alexander

Now, see, for programmers of a certain age...

I bought the books, too. And no, I never finished reading them. So I am definitely in the club. ;-)


> Notes For 'Notes On “Notes”'

Classic rpg.




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

Search: