Hacker News new | ask | show | jobs
by andyjohnson0 3938 days ago
Also on Archive.org is Alexander's A Pattern Language [1]. Although that book is also about the architecture of buildings, it inspired the idea of software design patterns [2].

[1] https://archive.org/details/APatternLanguage

[2] https://en.wikipedia.org/wiki/Software_design_pattern#Histor...

3 comments

A Pattern Language is a gorgeous book. We are currently redesigning our home, and this is worth its weight in gold.

I always had the notion though, the software pattern way was a misinterpretation of Alexanders ideas. Alexander doesn't stop to emphasize that a pattern can (and should) have an uncountable number of slightly different implementations, as the special situation requests. He is outspokenly against reusing an implementation without adequate modification for the situation in architectural applications.

I always understood the highest goal in software engineering is to write code that can be reused without modification. I never could agree that this is a good idea for the users of software. It is only more economical to build. Just what Alexander defines as the most evil thing ever, because in architecture this leads to faceless homes.

The idea to reuse implementations of patterns is one that in another context delivers us cars that are more or less all VW Golf (Rabbit) underneath.

It also influenced Steward Brand's HOW BUILDINGS LEARN: What Happens After They’re Built. The BBC's adaptation includes some interview with Alexander [1].

[1] https://youtu.be/ZSaWdp833YM?t=12m57s

An excellent book that I'd highly recommend. I have a copy on a bookshelf not far from where I'm sat, and your mention of it has prompted me to pull it out to dip-into later. Thanks!

And Stewart Brand is one of my intellectual heroes.

I especially like the concept in that video:

"A building is not something you finish, it is something you start"

This is no more truer than with software. Anyone who has had to write in-house software will appreciate that sentiment!

My understanding is that both books influenced software design patterns (and the wikipedia article is unclear on that). This book is really a continuation of the ideas in A Pattern Language.