Espandere il punto di Abhijit:
Support for Legacy Code: Millions of Lines of Code are running reliably for years and Business Houses find no compelling reason to rewrite it on Non-Mainframe Servers.
Nella mia esperienza, si tratta di un problema piuttosto ampio per il tipo di società che scelgono di eseguire mainframe (che sono in genere investimenti piuttosto grandi). Un progetto a cui sono stato coinvolto è stato un'indagine per rispondere a una domanda: quali tecnologie dovrebbe il cliente (una grande banca) scegliere di sostituire i mainframe con? La domanda era in realtà divisa in parti più piccole, concentrandosi sul sistema operativo, sul database e sulle lingue e i framework di implementazione.
Anche solo considerando la lingua, ci siamo imbattuti in un problema abbastanza importante: la riscrittura della base di codice esistente è stata stimata in circa 5 anni (senza far crescere i team di sviluppo in modo significativo, il che porterebbe i suoi problemi). Ovviamente questo è un grosso problema in termini di opportunità perse di passare quel tempo a sviluppare altri software, ma oltre a questo, è difficile scegliere una tecnologia con quel tipo di timeline in mente. Java o .Net? In un periodo di 5 anni, quello che è considerato un "buon codice" in uno di essi è roba obsoleta e obsoleta, con le versioni principali di ciascuna uscita ogni due anni.
Sedendosi indietro e pensando a questo, il tipo di stabilità che i mainframe forniscono si estende anche all'ambiente attuale, le cose tendono a cambiare lentamente; che è una buona cosa se hai cento milioni di righe di codice da mantenere.