Mentre sono seduto qui a modificare PircBot, ho appena notato che l'intero backend è stato scritto per supportare Java 1.1. Ha un'implementazione personalizzata della coda, utilizza tabelle hash, implementazioni personalizzate del produttore/consumatore basate sulla segnalazione wait() e notify(), ecc. Anche Commons-lang non ha alcun supporto per le cose che Java 5 porta sul tavolo come generici. Puoi tirare un sacco di altri esempi di framework molto popolari che cercano il più possibile per supportare 1.1.Perché alcuni framework rifiutano di abbandonare il supporto per le antiche versioni di Java?
La mia domanda è perché? Perché alcune parti della comunità Java si rifiutano di supportare nuove versioni? Seguo questa teoria: le vecchie versioni utilizzano versioni precedenti di framework e JVM precedenti, le versioni più recenti utilizzano framework aggiornati e JVM. Si aggiorna tutto con il software.
Ora posso parzialmente capire che le persone utilizzano ancora Java 1.5, ma 1.1? Se esegui qualcosa prima di quello, allora ovviamente non stai aggiornando la JVM a causa di politiche stupide/paura della sconosciuta, e quindi non stai andando ad aggiornare a versioni più recenti del software. Quindi, perché li stiamo ancora supportando?
Su una nota correlata, se si sta scrivendo un nuovo framework, è necessario supportare qualsiasi cosa < 1.5? Dovresti provare a forgiare strutture esistenti, aggiornandole a 1.5, quindi parlare con i manutentori del loro utilizzo?
molto più specifico discussioni (si tratta di supporto in generale): Is there still a good reason to support JDK 1.4?
Hibernate Core è ancora risolutamente compatibile con Java 1.4. Niente generici, niente enumerazioni. È esasperante. – skaffman