Some Words on the Epistemology of Patterns

February 26, 2013 in Software

The opening of third book on Pattern Languages of Program Design starts with the following sentence:

What’s new here is that there’s nothing new here.

This single assertion seems to characterize the epistemological nature of patterns, in what concerns its methodology and goals; patterns result from the observation, analysis and formalization of empirical knowledge in search for stronger invariants, allowing rational design choices and uncovering newer abstractions. A pattern should not report on surface properties but rather capture hidden structure at a suitably general level. A comprehensive discussion on the epistemology of patterns and pattern languages can be found in a recent work by Kohls and Panke:

The argument that there is “nothing new” in a pattern must be rejected; otherwise there would be nothing new to physics either, since physical objects and the laws of physics have been around before, just as design objects or programming styles have been around before somebody sets up a pattern language or collection. The discovery and description of a new species is without question considered scientific progress. Of course, the animals are not new — they lived there before — but they are newly discovered. In the same way, “the most important patterns capture important structures, practices, and techniques that are key competencies in a given field, but which are not yet widely known”.

who am i

I am a Software Engineer and aspiring Computer Science theorist. My ultimate goal is to develop AI algorithms with some provable guarantees.

what is this

This is a blog about computer science theory, some mathematics, and the AI. I put here all my thoughts that are not publication-ready.

© MMXVI — MMXVII by Uros Nedic.
Content available under Creative Commons (BY-NC-SA) unless otherwise noted.