Dopo essersi lasciato alle spalle il ramo 2.x con la fine del ciclo di vita della versione 2.7 registrato all'inizio dello scorso anno, la roadmap di Python 3.x prevede l'abbandono delle release 3.6 e 3.7 rispettivamente entro dicembre 2021 e giugno 2023. Queste ultime stanno ricevendo unicamente aggiornamenti di sicurezza, ad essere attivamente mantenuti attivamente sono quindi soltanto i rilasci di Python 3.8 (che ci lascerà nell'ottobre del 2024) e Python 3.9 (che rimarrà tra noi fino allo stesso mese dell'anno successivo).
Attualmente l'ultima versione stabile disponibile è la 3.9.5. Per il team guidato dal creatore del linguaggio, l'informatico olandese Guido van Rossum, è quindi arrivata l'ora di pensare alla realizzazione di Python 4? Probabilmente sì ma nessuno dei suoi componenti sembrerebbe intenzionato ad affrontare un progetto di questo genere.
Le ragioni di tale ritrosia sarebbero state spiegate dallo stesso van Rossum facendo riferimento a quanto avvenuto durante il passaggio non esattamente indolore tra Python 2 e Python 3.
Gli errori del passato
Come ricorderà sicuramente chi fu costretto ad affrontare quella transizione, la versione 2 e la 3 erano ampiamente incompatibili, a causa di ciò gli sviluppatori che avevano implementato delle dipendenze di librerie software basate sulla prima non poterono effettuare degli upgrade verso la milestone più recente.
Fortunatamente, grazie al lungo periodo a disposizione (Python 2 venne lanciato nel 2008), alla fine la community del linguaggio è riuscita non senza una certa pazienza ad adeguare i propri progetti rendendoli compatibili con Python 3, ma non è detto che essa sia disponibile ad affrontare nuove incompatibilità tra main version.
I progetti per il futuro
Sempre a parere di van Rossum, forzare il passaggio tra le due versioni è stato un errore da non ripetere, gli sviluppatori del core di Python non furono infatti in grado di valutare sia il successo riscosso da Python, molto più utilizzato di quanto loro stessi non potessero credere, che la scarsa conoscenza della codebase del linguaggio da parte di coloro che erano invece interessanti ad adottare una soluzione pronta all'uso per la programmazione, senza doversi destreggiare tra dipendenze datate e retrocompatibilità mancate.
I linguaggi che dovrebbero ispirare le prossime versioni di Python dovrebbero essere Rust, GO e TypeScript. Come anticipato, questo non porterà alla creazione di Python 4, ma se l'evoluzione C dovesse determinare incompatibilità con i binari e le estensioni di quest'ultimo le attuali posizioni potrebbero essere ridiscusse per l'ennesima volta.