Roots of Software Architecture in the Industrial Revolution

Form without Content

logcratic
Tech Ponderings
Published in
5 min readAug 31, 2023

--

Image was created by the author in NightCafeStudio

The trajectory of technological progress since the Industrial Revolution is characterised by a remarkable entanglement between technology, science, and industry. This fusion not only catalysed unprecedented advancement, but it has also prompted a transformation in how knowledge is understood and applied. A very specific topic that I’d like to discuss here is tracking the cultural origin of software architecture in the Industrial Revolution.

Tracing back Software Architecture

Something that already few know is that the term “architecture” in software architecture isn’t just a mere analogy from programmers. The idea of generative design producing software solutions within defined parameters, owes its credit to the theoretician of architecture Christopher Alexander.

His work on design patterns has provided a highly functional approach that allowed him to solve actual architectural problems from a theoretical perspective. These problems included, for example, urban planning and façade details. The idea was simple. Create a system of repeatable design patterns and you get a logical structure of patterns defined by context, problem, and solution description.

Genesis of Pattern Language

The notion of pattern languages emerged in the 1970s as a tool to understand the underlying structure that shapes reality. Alexander intended to grasp the essential material elements that create a nurturing environment for humans. In the second step, this also defines a method that, ideally, also applies on a global scale. He draws the analogy to genetic codes that are responsible for functioning organisms. Material environments, as well, should as well be created by such a pattern language that is accessible to everyone.

From Architecture to Programming

Even though, Alexander’s goal was to create human-friendly architecture, the field of computer science seized upon his work. Software development facing complex challenges at the time, embraced his concepts to create the idea of object-oriented programming — creating software according to the logic of flexible reusable design patterns. Of course, Alexander realising this new application was hoping for software developers to adhere to his ideal of a human-centred architecture for a better future.

In software development, these design ideas have been proven very effective in promoting efficiency and sharing best practices. However, the usage of design patterns for software development created new challenges regarding the moral, coherence-driven, and generative aspects. These were central to Alexander’s theory.

Pattern languages integrate a moral component to design environments that genuinely enhance human life. Besides improving technical attributes like efficiency, it is rather questionable if its application to software contributed to a profound betterment of human existence.

Coherence

The architectural pattern language not only harbours moral ideals but also seeks to induce coherence within its creations. Coherence implies that every element of a design harmonizes with the whole, contributing to its overall integrity. This idea extends to the generative nature of pattern languages, which empowers individuals with local knowledge to create elements that blend seamlessly into their surroundings.

In the architectural domain, coherence testing involves evaluating whether a language can generate designs that are not only functional but also intrinsically harmonious. This concept is akin to examining whether a set of software patterns collectively generates a coherent and well-structured program. This aspect of pattern languages in software, however, seems to have received less attention, leading to a potential gap in the true generative and coherence-inducing potential of software patterns.

The Abstraction of Expertise

The Era of Expertise

The Industrial Revolution ushered in an era of specialization, where various fields became increasingly abstract and intricate. While this led to incredible advancements, it also created a divide between experts and amateurs. Unlike earlier times, where interested amateurs could delve into topics and grasp their intricacies, the current landscape often feels impenetrable to those not deeply embedded in a specific niche.

This shift is characterized by the alienation of amateurs from the depth of most subjects. While earlier times witnessed a broader engagement with various domains, today’s amateurs typically engage emotionally only when topics intersect with pressing public debates, as seen with the global response to the COVID-19 pandemic.

The Method Takes Centre Stage

Concurrent with the specialisation, a parallel transformation is underway in the realm of methodologies. As disciplines isolated themselves, methodologies began to be treated as subjects of research in their own right. With advanced technologies, the focus shifted from realisation to design, enabling independent explorations of representation, thinking processes, and procedures.

This departure from strict purpose-driven design to an emphasis on form and experimentation mirrors the work of architects who focus on shaping and manipulating forms, leaving material considerations for later stages. This paradigm reverts technology and techniques to their original meanings — emphasising craftsmanship, proficiency, and the mastery of outcomes.

Of course, that’s the point where we can connect this long history back to Christopher Alexander. We removed the necessity of content due to this abstraction process of methods. The result: form without content. Progress that enabled the creation of a theory of design patterns that are merely reusable forms.

The universal pattern language allows for communication between experts in different fields avoiding the alienation of being an amateur. Similarly, to software architecture, a single individual can work on a tiny sub-part of the whole system without the need to understand the whole system of even another sub-part. The harmonisation of the parts into the whole takes the responsibility for the rest.

The Challenges and Promises

As society continues to prioritise methodologies over content, it reaps rewards in terms of progress and innovation. However, this trajectory also raises concerns. Overemphasis on the form can lead to a de-sensualization of encountered objects, fostering an alienated modern society. While methodology has undeniably shaped our current age, a careful balance between content and form is crucial to preserve the essence of human experiences in an increasingly abstract world.

Finally, this aspect is crucial to come back to Alexander’s perspective on human-centred design. It is important not to forget the betterment of human existence when employing such a method in technology. Otherwise, we increase alienation for the sake of efficacy.

--

--