Como estoy sentado aquí modificando PircBot, he acabo de dar cuenta de que todo el back-end fue escrito para que admita Java 1.1. Tiene una implementación de cola personalizada, usa tablas hash, implementaciones personalizadas de productor/consumidor basadas en la señalización wait() y notify(), etc. Incluso Commons-lang carece de soporte para las cosas que Java 5 trae a la mesa como genéricos. Puede obtener muchos otros ejemplos de frameworks muy populares que hacen todo lo posible para soportar 1.1.¿Por qué algunos frameworks se niegan a dejar de admitir versiones antiguas de Java?
Mi pregunta es ¿por qué? ¿Por qué ciertas partes de la comunidad Java se niegan a admitir nuevas versiones? Me guío por esta teoría: las versiones anteriores usan versiones anteriores de marcos y JVM anteriores, las versiones más recientes usan marcos actualizados y JVM. Actualizas todo con el software.
Ahora puedo entender parcialmente a las personas que todavía ejecutan Java 1.5, pero 1.1? Si está ejecutando algo antes de eso, obviamente no está actualizando la JVM debido a políticas estúpidas/miedo a lo desconocido, y por lo tanto no va a actualizar a versiones más nuevas de software. Entonces, ¿por qué seguimos apoyándolos?
En una nota relacionada, si usted está escribiendo un nuevo marco debe soportar cualquier cosa < 1.5? ¿Debería tratar de bifurcar frameworks existentes, actualizarlo a 1.5, y luego hablar con los mantenedores sobre su uso?
mucho más específico discusiones (esto es sobre el apoyo en general): Is there still a good reason to support JDK 1.4?
Hibernate Core sigue siendo resueltamente compatible con Java 1.4. Sin genéricos, sin enumeraciones. Es exasperante. – skaffman