This report investigates the relationships between design patterns and programming languages. A comparison is carried out between the usual track of programming languages development and the discovery of patterns. We argue that there are fundamental di erences between the two. We o er a taxonomy of patterns based on how far they are from becoming actual language features. An observation is made that many patterns are in essence a set of rules governing the relations between two objects in run time. An initial multi-dimensional classi cation of such relationships is proposed.
Joseph Gil, David H. Lorenz