Remix.run Logo
hollerith 2 days ago

Software development is more like drawing up the blueprints for a building than it is like working with materials made of atoms. (The analog in software to the construction phase of the creation of a physical building either does not exist or proceeds very quickly, is very unlikely to fail or be delayed and is almost completely automated.)

The word "patterns" a la software patterns was taken directly from the writings of an architect of physical buildings (namely Christopher Alexander). It is not an accident that it was not taken from the work of a construction worker, not even a high-level one in charge of hiring subcontractors and of years-long billion-dollar construction projects.

The most salient difference between blueprints and software artifacts is the sheer complexity of software artifacts these days (which is why there aren't organizations that employ many tens of thousands of draftsmen and architects of physical structures) but that is a difference in degree, not a difference in kind.