Contesto
Nella mia azienda, abbiamo un importante pacchetto Python che è scritto in Python 2. Ora stiamo pianificando di migrarlo in Python 3 (non ci interessa mantenerlo compatibile con Python 2).
Sono uno sviluppatore junior e i miei colleghi sono persone anziane, che non hanno una solida esperienza in informatica.
Problema
Durante il processo di pianificazione, dovevamo rispondere alla domanda della versione minima di Python che vogliamo supportare. La risposta scelta era Python 3.4, per alcune ragioni interne. Tuttavia, Python 3.4 arriverà al termine del ciclo di vita in 5 mesi (quindi probabilmente anche prima che questo pacchetto venga portato su Python 3)
Non mi piace l'idea di supportare una versione Python che non è più supportata dall'organizzazione Python ma non riesco a trovare argomenti concreti contro di essa, altri che "semplicemente non sembra giusto".
Gli argomenti a cui ho pensato sono:
- avremo meno versioni di Python da supportare: se iniziamo con 3.5, dobbiamo supportare una versione in meno, 3,6 due versioni in meno, ecc.
- possiamo utilizzare le nuove funzionalità linguistiche
Riguardo al primo, altri hanno detto che testeremo solo la versione minima supportata sul nostro CI e che gli sviluppatori di questo pacchetto useranno l'ultimo come nostro ambiente di sviluppo locale. Non è sicuro in termini di test, ma devo ammettere che le differenze tra le versioni di Python 3.X non stanno infrangendo così tante cose, specialmente considerando cosa fa questo pacchetto.
Riguardo al secondo argomento, le persone non sono realmente a conoscenza delle nuove funzionalità da Python 3.5 e successive e tendono a dire: "lo facciamo oggi in Python 2, quindi non vedo il punto di avere nuove funzionalità" . Inoltre, nel contesto di questo pacchetto, non ci sono nuove funzionalità che posso davvero pubblicizzare come super belle (come async
roba per esempio).
Domande
- Quali sono le conseguenze dell'utilizzo di una versione di Python 3.X che ha raggiunto la fine del ciclo di vita? Riesco a trovare risorse su Python 2 vs Python 3, ma non riesco a trovare nulla di specifico per le vecchie versioni di Python 3.X rispetto a quelle nuove.
- Quali sono le strategie per sensibilizzare sul tenere aggiornato il software? Come cambiare la mentalità delle persone in modo che non trovino normale utilizzare strumenti obsoleti?