Il existe un grand nombre de langages de programmation. Certains d'entre eux grandissent et deviennent très populaires. Les gens utilisent de plus en plus ces langues. Le fondateur d'une telle langue (ou organisation / communauté fondatrice) peut essayer de mettre en œuvre des changements pour améliorer la langue. Mais parfois, il est difficile d'apporter des modifications en raison de la compatibilité descendante et de telles choses laides existent déjà dans la langue depuis des années et sont utilisées par de nombreux utilisateurs.
Y a-t-il des principes ou des étapes architecturales, pendant la phase de conception du langage, qui peuvent aider à le rendre plus stable afin que les concepteurs de langage n'aient pas aussi peur de briser la compatibilité descendante?