Reflexionando sobre el gordito de Java
viernes, abril 18, 2008 at 5:44PM Opinion de un programador....
Todos sabemos el crecimiento que ha tenido Java en los ultimos años, ha crecido tanto en funcionalidades, caracteristicas, mejoras de todo tipo y tamaño de disco. El tamaño del JRE es algo que se ha discutido mucho y no quiero retomar ese tema. SUN esta encontrando mecanismos para mejorarlo, el Pack2000 o el consumer JRE son algunos ejemplos. A mi realmente no me molesta el que Java crezca en tamaño, pues java al ser un lenguaje de proposito general necesita una vasta libreria para poder defenderse a la mayoria de los problemas. Lo que si me ha puesto a pensar es si realmente esas librerias estan de adorno en el JRE o tiene algun proposito. Les pongo el ejemplo mas tipico:
Un programador a empezado a tener sus propias alas y quiere explorar algunos frameworks porque sabe que ayudan mucho al desarrollo de aplicaciones. Decide primero por aprender Hibernate+Spring (o cualquier otro), se baja las distribuciones, los manuales, y los aprende a usar. Pero hay algo que llama su atencion, las dependencias de esos frameworks, nota que Spring y Hibernate necesitan ademas de sus jars (hibernate.jar y spring.jar) muchas dependencias, las famasosas Common-beanutils, common-io, common-collections, common-xxx y ademas dom4j, log4j, xerces, xml, cgbxx. Y nota que muchos otros frameworks utilizan las mismas dependencias. Investigando un poco se da cuenta de que son librerias para manejar XML, colecciones, archivos, logs, etc,etc Y aqui sale la pregunta del millon:
¿Acaso java no tiene ya soporte para tooodas esas cosas, o es que tienen mal rendimiento, o mala implementacion que es necesario otras que "hacen lo mismo" pero que estan hechas por terceros??
Lo ideal seria un framework un jar. Salvo algunos otros jar especificos y directamente relacionados con el framework. ¿Se han dado cuenta que cuando hacen una aplicacion web por ejemplo, el tamaño de esta es minimo de 20mb si utilizan Spring + Hibernate??? los jar que uno fabrica no llegan ni a los 200k si tienes todo modular, o maximo 500k si tienes todo en solo jar, practicamente toca distribuir otra "JRE" junto con esos pequeños archivos.
SUN deberia haber notado todo esto hace años, y creo que no ha hecho practicamente nada, corrijanme si me equivoco. Deberian reemplazar las implementaciones de sus API con estas famosas commons y asi tener por cada framework, un jar.
¿Seria posible que todas las personas que se hayan dado cuenta de esto podamos hacer suficiente bulla como para cambiar el futuro de java?? ¿Save the cheerleader, save the world??
Saludos a todos
j2se 
Reader Comments