Spesso i progetti usano il linguaggio di programmazione X, ma utilizzerebbero il linguaggio di programmazione Y se fossero stati avviati da zero.
Ad esempio, i grandi modelli numerici possono essere scritti interamente in Fortran. Considerando che questa potrebbe essere una scelta ragionevole per i componenti che devono essere eseguiti velocemente (alternativa sarebbe C o C ++), potrebbe essere una scelta sbagliata per i componenti che non hanno bisogno di essere veloci (come le cose che riguardano input umani o semplici visualizzazioni), o dove il runtime non è il fattore limitante (come I / O, in particolare quando dalla rete).
Un altro esempio potrebbe essere quando un progetto viene costruito usando un linguaggio proprietario (come Matlab; no, i cloni FOSS non sono abbastanza buoni ) e fu avviato in un momento in cui le alternative FOSS non erano vitali, ma dieci anni dopo, lo sono; e sarebbe utile migrare.
Tuttavia, a causa di inerzia della lingua , non si verifica una migrazione. Il codice che funziona non deve essere toccato, il porting code è un processo costoso e dispendioso in termini di tempo e i programmatori hanno familiarità con il linguaggio X, ma non necessariamente nella lingua Y. Tuttavia, a lungo termine, una migrazione sarebbe probabilmente vantaggiosa.
Si può fare qualcosa per mitigare i problemi associati all'inerzia linguistica? Ci sono esempi notevoli di grandi progetti che hanno superato con successo questo problema? O è un progetto destinato a rimanere per sempre con le scelte iniziali?