Linguaggi morti o in declino: come capire se vale ancora la pena
Un linguaggio quasi mai muore: passa dalla crescita alla manutenzione. Come riconoscere le fasi, quali linguaggi sono dove e cosa significa per te.
Ogni anno qualcuno annuncia la morte di PHP, di Java, a volte persino del C. E ogni anno quei linguaggi continuano a far girare una parte enorme del software che usi. Nel frattempo altri, di cui nessuno parla, sono scomparsi davvero senza che nessuno lo annunciasse. In questo articolo trovi un modo più utile di ragionarci: non "morto o vivo", ma in quale fase si trova un linguaggio, e cosa comporta per te se lo stai studiando o ci lavori.
La risposta breve
Un linguaggio usato in produzione non muore quasi mai: passa dalla crescita alla maturità, poi alla manutenzione, e a volte a una nicchia stabile. Muore davvero solo quando la piattaforma su cui girava scompare. La domanda utile non è se un linguaggio è morto, ma se si scrivono ancora progetti nuovi con quel linguaggio o si mantengono solo quelli vecchi.
Questa distinzione cambia tutto. Un linguaggio in manutenzione può darti lavoro per decenni, anche ben pagato. Ma è un lavoro di tipo diverso: sistemi esistenti, codice scritto da altri, pochissima libertà sulle scelte tecniche.
Perché i linguaggi non muoiono
Il motivo è economico, non tecnico. Il codice che funziona vale soldi, e riscriverlo costa di più che mantenerlo.
Un sistema bancario, un gestionale industriale, un modello meteorologico: dentro ci sono decenni di regole, correzioni e casi particolari, spesso documentati solo nel codice stesso. Riscriverlo in un linguaggio moderno significa rischiare di perdere qualcosa di cui nessuno si ricordava l'esistenza, e scoprirlo in produzione.
Per questo un linguaggio sopravvive finché sopravvivono i sistemi scritti con quel linguaggio, e i sistemi sopravvivono molto più a lungo delle mode. È esattamente la storia del COBOL.
Le fasi, non le etichette
Invece di "vivo" e "morto", è più onesto usare quattro stadi.
| Fase | Cosa significa | Esempi |
|---|---|---|
| Crescita | Molti progetti nuovi, ecosistema che si espande in fretta | Rust, TypeScript, Kotlin |
| Maturità | Scelta standard, stabile, tanti progetti nuovi e tantissimi esistenti | Java, C, Python, JavaScript, PHP |
| Manutenzione | Pochi progetti nuovi, moltissimo codice da mantenere | COBOL, Perl, VBA, Objective-C |
| Nicchia stabile | Piccolo ma vivo, dominante in un ambito preciso | Fortran, Haskell, Lisp e derivati |
Le fasi non sono un giudizio di qualità. Un linguaggio in manutenzione può essere progettato benissimo; uno in crescita può avere difetti seri che emergeranno tra dieci anni. Sono una fotografia di cosa ci si fa oggi.
Nota anche che la stessa tecnologia può stare in due fasi a seconda dell'ambito. Ruby è maturo nel mondo delle startup che usano Rails, ma quasi assente in altri settori. Scala è ancora vivo nel data engineering, molto meno come "Java migliore", ruolo che ha preso Kotlin.
Quelli dati per morti che non lo sono
PHP. È il caso più eclatante. La sua reputazione viene dal codice scritto vent'anni fa, non dal linguaggio di oggi, che è veloce e ben strutturato. Fa girare una quota enorme del web, WordPress compreso, e continua a ricevere versioni nuove regolarmente. Chi lo dichiara morto di solito parla della sua opinione, non del mercato.
Java. Viene considerato "vecchio" da anni, ed è ancora uno dei linguaggi più richiesti nelle aziende, in particolare in Italia. È maturo, non in declino: si scrivono ancora moltissimi progetti nuovi.
C. Sta sotto sistemi operativi, database, interpreti di altri linguaggi e firmware. Non ha nemmeno senso chiedersi se sia in declino: è parte delle fondamenta, e le fondamenta non si cambiano per moda. Il perché è spiegato in cos'è il linguaggio C.
Fortran. Sembra un reperto, ed è ancora usato nel calcolo scientifico ad alte prestazioni. Le librerie di algebra lineare scritte in Fortran stanno sotto strumenti che usi ogni giorno senza saperlo.
Quelli in manutenzione
Qui si scrivono pochi progetti nuovi, ma il lavoro non manca.
COBOL gira ancora in banche, assicurazioni e pubblica amministrazione. Chi lo conosce bene sta andando in pensione, e questo crea domanda. È l'esempio più puro di linguaggio in manutenzione ad alto valore.
Perl è stato per anni il linguaggio degli script di sistema e del primo web. Oggi per script nuovi si sceglie Python o Bash, ma Perl resta preinstallato su quasi ogni sistema Unix e dentro tanti strumenti esistenti.
VBA automatizza migliaia di file Excel in uffici di ogni dimensione. Microsoft spinge verso alternative moderne, come racconta Office Scripts e il futuro di VBA, ma le macro esistenti non spariranno in fretta.
Objective-C è stato sostituito da Swift come scelta per le app Apple. Le app esistenti e parti dei sistemi di Apple lo contengono ancora, quindi chi mantiene app iOS di lunga data lo incontra.
Quelli morti davvero
Esistono, e hanno quasi tutti la stessa causa: la piattaforma è scomparsa.
ActionScript era il linguaggio di Flash. Quando Adobe ha terminato il supporto a Flash Player e i browser lo hanno rimosso, il linguaggio non aveva più niente su cui girare. Non è stato sostituito da un concorrente migliore: gli è stato tolto il terreno sotto i piedi.
CoffeeScript è un caso diverso e istruttivo. Aggiungeva a JavaScript una sintassi più comoda, molto popolare per qualche anno. Poi JavaScript stesso ha adottato gran parte di quelle comodità, e il motivo di usarlo è semplicemente svanito. Un linguaggio può morire anche perché ha vinto: le sue idee sono entrate nello standard.
Questi due casi dicono una cosa pratica: un linguaggio legato a una singola piattaforma controllata da un'azienda è più fragile di uno che gira ovunque. Se la piattaforma chiude, il linguaggio chiude con lei.
Come riconoscere la fase di un linguaggio
Le classifiche di popolarità misurano soprattutto quante domande vengono fatte o quante ricerche vengono effettuate, che è un'altra cosa. Per capire in che fase è un linguaggio, guarda segnali più concreti:
- Le offerte di lavoro chiedono di costruire o di mantenere? Se gli annunci parlano di "evoluzione di sistemi esistenti", "migrazione", "manutenzione", sei in fase di manutenzione.
- Nascono librerie nuove? In un linguaggio in crescita escono continuamente strumenti nuovi. In uno in manutenzione, l'ecosistema è fermo sugli stessi pacchetti da anni.
- Le aziende che lo usano lo scelgono ancora per progetti nuovi? È il segnale più forte, e il più difficile da falsificare.
- Il linguaggio riceve ancora versioni nuove? Uno standard che si evolve indica una comunità che investe. Attenzione però: un linguaggio può ricevere aggiornamenti anche in piena fase di manutenzione.
- Chi lo insegna? Se nessuno lo insegna più ai principianti, tra dieci anni mancheranno persone che lo conoscono. Ed è proprio lì che nasce la domanda per chi lo sa.
I dati cambiano in fretta, quindi prima di una decisione di carriera guarda le offerte reali della tua zona e del tuo settore, non le classifiche globali.
Cosa significa per te
Se stai scegliendo il primo linguaggio, scegli tra quelli in crescita o maturi. Non perché gli altri siano inutili, ma perché ti servono varietà di offerte, materiale per imparare e una comunità che risponde. La scelta per obiettivo è in quale linguaggio imparare nel 2026.
Se ti viene offerto un lavoro su un linguaggio in manutenzione, non scartarlo per principio. Può essere stabile e ben pagato, e la conoscenza di un sistema complesso è rara. Valuta però due rischi: il lavoro sarà in buona parte lettura e correzione di codice scritto da altri, e restare solo lì per troppi anni restringe le tue opzioni successive. Il compromesso sano è tenere viva almeno una competenza in un linguaggio maturo.
Se lavori su un sistema scritto in un linguaggio in declino, il tema è il debito tecnico: ogni anno trovare persone costa di più. Una riscrittura completa è quasi sempre la scelta più rischiosa; una migrazione graduale, componente per componente, è quella che di solito funziona. Il refactoring incrementale batte il "rifacciamo tutto da zero".
Errori comuni
Confondere "non di moda" con "morto". Un linguaggio può sparire dai social e restare ovunque nelle aziende. La visibilità online misura l'entusiasmo, non l'uso.
Credere che un linguaggio in crescita garantisca lavoro. Le posizioni per un linguaggio nuovo sono spesso poche e richiedono esperienza. La crescita riguarda l'interesse, non necessariamente le offerte junior.
Pensare che studiare un linguaggio in declino sia tempo perso. I concetti si trasferiscono. Imparare Haskell ti cambia il modo di scrivere codice in TypeScript; lavorare in COBOL ti insegna cosa significa mantenere un sistema per decenni.
Ignorare la piattaforma. Prima di investire su un linguaggio, chiediti su cosa gira e chi controlla quella piattaforma. È la variabile che ha ucciso ActionScript.
In sintesi
I linguaggi non muoiono quasi mai, cambiano fase: crescita, maturità, manutenzione, nicchia. Muoiono davvero solo quando la piattaforma su cui girano scompare, oppure quando le loro idee vengono assorbite da un linguaggio più diffuso.
La domanda utile è una sola: con questo linguaggio si costruiscono ancora progetti nuovi, o si mantengono solo quelli esistenti? La risposta te la danno le offerte di lavoro e le scelte delle aziende, non le classifiche.
Un linguaggio in manutenzione non è una cattiva scelta di carriera, ma è una scelta diversa: stabilità e spesso buoni compensi, in cambio di meno libertà e di un mercato più stretto.
Per il primo linguaggio, resta su quelli maturi o in crescita. Tutti gli altri si imparano dopo, e più in fretta, quando hai già delle basi solide.
La mappa completa, con la fase di ciascuno, è in tutti i linguaggi di programmazione. Se vuoi partire con basi che reggono qualunque cambiamento di moda, trovi i percorsi nei corsi.
Contenuto redatto con l'assistenza di strumenti di intelligenza artificiale e rivisto dalla redazione di Codegrind, che ne è responsabile. Hai trovato un errore? Scrivici.