A Search for Beauty / A Struggle with Complexity - Christopher Alexander

Richard P. Gabriel, Jenny Quillien

Urban Science - 2019

an analysis of how alexander pursued beauty through complexity

Beauty is involved in moving from disorganized complexity towards organized complexity. This goes beyond simply code or architecture, but encompass a lot more systems. His goals are:

Alexander’s successive conceptions of beauty:

“deep interlock and ambiguity create beauty”, which seems to be in this case something very different from what has been found so far in programming; it’s more about clarity and simplicity. However, this can perhaps arise from complexity?

“something with the quality is so strong, so balanced, so clearly self-maintaining that it reaches into the realm of eternal truth, even if it lasts for only an instant”

This is the Quality Without A Name.

Well, the first and biggest difference is that architects deal with the animate and unexpected (people) and computer scientists deal with the inanimate and expected (computers -but actually the unexpected because of streams, memory management and uncertainty of pointer arithmetic), so that restricts the extent to which his criteria for beauty could be applied.

Still, his desire to look for what makes the beautiful, instead of what is the beautiful, is an interesting approach. And indeed, in the first part of this research, on the aesthetics of software developers, I’ve essentially found patterns.

He also wants a tight relationship between fact and value, between what is and what ought to be, between the situation and the goal.

Epistemology and knowledge are always driven by personal experience, by things that have been noticed. What are the things that I personally have been noticing? That there are pieces of code where someone feels at ease, is comfortable with experimenting, changing, expressing oneself.

There’s also a huge part about symmetries and sub-symmetries, which seem to manifest Alexander’s background in maths and his desire for verifiability. He then discovers the “paradoxical interplay between symmetry and asymmetry” (between simplicty and complexity). Symmetry is the desired state, and asymmetry is the required state, as a manifestation of function not bowing down to form, and therefore shaping form itself.

Is there a center to source code? Does it have geometric properties? Does it fold? Obviously yes, functions are patterns in themselves. Additionally, he mentions that centers have centers in a recursive manner.

Some of Alexander’s geometric properties:

So there are some things that are definitely interesting, but do not 1:1 map to software: for instance, the quality of roughness.

Simplicity is not the geometrically banal.

Then Gabriel’s addition is the focus on evocative power, on the possibility of signifying something else.