14/08/2023 - iBaffiPro ha scritto:
- Coloro che hanno un’applicazione realizzata in Spring Boot 2.7.6 e Java 11 dovrebbero aggiornarla/riscriverla in Spring Boot 3.1.2 e Java 20 oppure no?
- C’è molta differenza tra Java 11 e Java 20 come linguaggio?
- Tra Java 17 e Java 20 c’è molta differenza?
- Da quale versione di Java si vede il cambio e varrebbe la pena una nuova lettura di un manuale aggiornato?
- In questo momento non ho molto tempo per affrontare un ripasso del linguaggio e probabilmente lo farò più avanti.
- A vostro parere conviene aspettare Java 21 oppure Java 22?
Risposta alla tua domanda: NO
ASSIOMA: se funziona, NON SI TOCCA!!!
Quindi, per rispondere ai punti precedenti:
- se funziona, non si tocca.
Ogni modifica sostanziale richiede molto tempo, molti test.
Raramente gli aggiornamenti sono “indolore” (anche se dicono il contrario) - no
- no, anche se di meno rispetto a 11--20
- in generale le modifiche tra una versione e l'altra sono poche.
Ovviamente il numero di aggiunte aumenta a mano a mano che la differenza di versioni aumenta.
Ti devi leggere tutte le novita' a partire dall'ultima versione che conosci bene. - NON E' una scusante.
Se lavori in questo settore E' TUA RESPONSABILITA' mantenerti aggiornato - l'ultima LTS o magari anche la penultima.
Quindi Java 17 o al limite Java 11.
Il che vuol dire che Java 11 VA ANCORA BENE!
NON l'ultima versione del JDK. (20)
Queste sono versioni per valutare/validare le novita'.
NON DEVONO essere usate in produzione.
E NEMMENO per sviluppare applicazioni che devono andare in produzione
.
Piu' in generale, la versione di JDK che DEVI usare nello sviluppo DEVE ESSERE LA STESSA di quella usata in produzione.
Se sviluppi in Java 20, ti viene assicurata compatibilita' con Java 21,22,…
NESSUNO ti assicura la compatibilita' con Java19, 18, 17, …
Quindi NON PUOI sviluppare usando Java 20 e poi installare il tuo codice su una macchina che usa Java 17!
Se funziona e' SOLO PER UN GIGANTESCO COLPO DI “C”.