I’ve been thinking a bit on this question recently, as I see these terms sometimes used borderline interchangeably in the literature.
For example, I have come across the notion of ‘design patterns’ as used in scenarios that are perceived as complex, with these patterns meant for replication/transferability, meanwhile most of us here have probably at least glanced at Jones (2014) ‘Systemic Design Principles for Complex Systems.’ This isn’t to say that a design pattern as used above necessarily relates strongly to Pattern Language, except that the author of that text cites the use of the term in respect to Alexander.
As @daviding has pointed out several times prior, Alexander titled the work with the article A, as in A Pattern Language, not The Pattern Language. Again, we see a consideration for replicability.
Probably, the genealogy of terms used is what differentiates here, but I’m curious if anyone has put the time into a set of functional definitions. I can see how a best practice could shift to a ‘good practice’ depending on context.
In searching on this topic, I found this interesting take on the difference, which views Patterns as complementary to, but not substitutable with, heuristics and principles:
A pattern language can be defined as a structured method for describing good design practices within a field of expertise. Patterns are different from other forms of catching design knowledge, as guidelines or heuristics, in three ways. First, patterns offer a solution to concrete problem rather
than providing abstract suggestions. Second, patterns are creative, helping designers,
architects and engineers to generate a new solution by presenting several examples of
the same problem. And third, patterns are connected between them by a hierarchical
structure, so designers can resolve both complex and simple problems. Patterns are
not going to replace guidelines or heuristics; patterns are a good complement for
Does anyone here have some thoughts on this relationship?