C'è un sondaggio condotto a settembre 2014 che dimostra che Java 8 è già stato ampiamente adottato: Sondaggio di oltre 3.000 sviluppatori rivela l'adozione di Java 8 in anticipo rispetto alle previsioni precedenti .
The report shows that 27% of those who filled out the survey have already upgraded to Java 8, with a further 36% planning to upgrade within the next 12 months (from the time of taking the survey). Only 23% of respondents were yet to evaluate Java 8.
21% of those who already upgraded to the latest Java version are using it in production, with a further 36% in staging or planning to upgrade their production environment shortly and 40% running pilots or testing with Java 8.
-- Typesafe survey: Java 8 Adoption Strong, Users Anxious for Java 9
Il principale problema di migrazione segnalato è l'architettura legacy:
Of Java 8 "holdouts," 69% are running Java 7 and 26% are running Java 6. For the majority of Java holdouts, the main challenge to migrating to the latest release is their past. 37% cited "hurdles with legacy infrastructure" while 19% cited organizational obstacles. Only 19% called out specific concerns with Java 8.
Ho avuto la stessa identica esperienza. La migrazione della lingua è quasi indolore, a meno che non ci sia una vecchia libreria da qualche parte nelle dipendenze che si rifiuta di lavorare con Java 8 (l'ho visto una volta, la libreria ha rilevato Java 8 come Java 4 a causa di una condizione if
errata). Il problema era (ed è tuttora) il passaggio degli ambienti di distribuzione a Java 8: script di bash, pacchetti del sistema operativo, server delle applicazioni, ecc.
Due motivi principali per cambiare sono:
- È facile grazie alla retrocompatibilità: il codice Java 7 si compila principalmente con JDK 8. Non perdi nulla e puoi comunque scrivere il codice vecchio stile, se lo desideri.
- Ottieni le nuove funzionalità e quelle non sono solo lambda. Ad esempio, se usi Joda-Time, c'è una nuova API Time, che è sostituzione consigliata per Joda-Time .
I'm wondering if they'll find code like: ... to be strange.
Chiederei loro se vogliono vedere il codice Java 8 o Java 7, se non è indicato nei requisiti per la soluzione.