Esistono molti linguaggi di programmazione. Alcuni di loro crescono e diventano molto popolari. Le persone usano tali lingue sempre più spesso. Il fondatore di tale linguaggio (o organizzazione / comunità fondatrice) può tentare di attuare modifiche per migliorare il linguaggio. Ma a volte è difficile apportare alcune modifiche a causa della retrocompatibilità e cose così brutte sono già esistite nella lingua da anni e sono utilizzate da molti utenti.
Ci sono dei principi o passaggi dell'architettura, durante la fase di progettazione del linguaggio, che possono aiutare a renderlo più stabile in modo che i progettisti del linguaggio non abbiano paura di rompere la compatibilità con le versioni precedenti?