I think a common name for a concept, one that's descriptive (NOT prescriptive), 
is very useful - for example, "hash function" or "hash table" or 
"lexicographical stable sort" or "gossip protocol" are extremely useful for 
human communication and documentation. They cannot be implemented as 
macros/templates etc, because they are too general (and even Nim's "concept" 
which comes closer isn't enough). Concrete, specific versions may be 
implemented, of course, but that's just a type/class/generic; no need for a new 
"pattern" distinction which adds nothing.

This is, I think, the equivalent to what Alexander's original "Patterns" 
referred to (w.r.t city architecture), and what the software patterns e.g. as 
advocated by the GoF _claim_ to do - but as @mratsim says, just show how 
limited C++/C#/Java/Friends are.

Reply via email to