Navegando por la red, encontré un artículo en el cual publican los resultados de una encuesta sobre la versión que más se está ocupando actualmente en los proyectos. La encuesta era acerca de desarrolladores de USA (y de la cual no recuerdo el link), en la que sobresalía el uso de la JDK 5.
Ahora me gustaría saber aquí en México como andamos en el uso de la JDK para desarrollar nuestros proyectos, ya sean personales o corporativos.
pero seria interesante ver por qué, no? sinceramente yo uso la 5 porque no tengo JDK 6 en Mac. En algunos deployments en Linux esta la version 6 pero echamos ahi lo que compilamos en la version 5.
Alguna vez tuvimos que regresar a la version 5 porque resulta que habia un bug en ConcurrentHashMap que lo hacia lentisimo y en la 5 no habia ese problema... y yo estaba usando esa clase.
Uno de mis proyectos open source (j8583) esta en JDK 5 tambien pero le puse compatibilidad hacia 1.4 porque algunos usuarios me lo solicitaron, aunque la version principal es en JDK 5.
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
Para fines propios siempre utilizo JDK6, sin embargo en los proyectos con empresas utilizo JDK1.4 y esto se debe a que los servidores con los que trabajan muchas empresas ya son obsoletos y trabajan unicamente con esa versión imponiendo la restricción. Por eso vote por la 1.4 :-(
Casi año y medio después ya puedo decir que estoy migrando de JDK 5 a JDK 6. Ya tengo Java 6 en mi mac, a 64 bits; el bug de ConcurrentHashMap ya fue resuelto hace tiempo. En producción ya llevo un rato usando JDK6 aunque están corriendo puras aplicaciones compiladas en JDK5. Y todavía no hemos usado ninguna característica específica de JDK6, solamente cosas de JDK5 como generics y anotaciones.
Sin embargo creo que el paso de JDK1.4 a JDK5 fue como pasar de VHS a DVD y el paso de JDK5 a JDK6 es como pasar de DVD a Blu-ray; las ventajas ya no son tan asombrosas y realmente no sientes que te pierdes de mucho por quedarte en la versión 5.
Que buena deducción jajaja. Pues creo que depende de lo que vallas a hacer, como mencionan arriba, muchas veces se requiere utilizar versiones anteriores porque es más facil eso, que migrar complatemante un sistema.
Lo que si es recomendable es que las cosas nuevas se realicen con las ultimas versiones y que se brinde la mayor compatibilidad con las versiones pasadas.
En lo personal uso la 1.5 para sistemas ya hechos y la 1.6 para nuevos requerimientos.
Depende. Los clientes más importantes de Sun, Oracle, IBM prefieren ser conservadores. Para ellos es preferible la estabilidad y la compatibilidad, no quieren exponer sus aplicaciones a un problema debido a un bug en una versión nueva o a una incompatibilidad o falta de actualización en otros componentes. Cuando un consultor dice "empleamos tecnología de punta" o "la más avanzada tecnología", ya sé que no tiene experiencia trabajando con corporativos grandes, sino con más bien con empresas pequeñas que suelen (y pueden) ser más innovadoras.
Lo que si es recomendable es que las cosas nuevas se realicen con las ultimas versiones y que se brinde la mayor compatibilidad con las versiones pasadas.
Lo que puede ser recomendable en un ambiente tal vez no lo sea en otro. La mayor compatibilidad con versiones pasadas se obtiene utilizando software de versiones anteriores también.
Por ejemplo, si tienes un centro de datos con decenas de servidores de aplicaciones de una versión 'x', y siguiendo el razonamiento que expones, una aplicación nueva debería desarrollarse sobre la versión 'X + 1' de dicho software. Entonces ya no tienes un estándar en cuanto a servidor de aplicaciones. Debes recapacitar a los administradores y en su caso a los desarrolladores en la nueva versión, debes mantener dos versiones, etc. Eso eleva los costos. Es recomendable para algunos, pero no para otros. Generalmente, mientras más grande, más lento.
Submitted by wishmaster77 on Jue, 07/29/2010 - 15:16.
@ezamudio
Quizás en web no, pero por ejemplo en aplicaciones de escritorio el JDK 5 es muy difícil hacer un icono de bandeja del sistema, lo que con JDK 6 en 3 patadas lo sacas, y creo también que en Micro Edition tienes más ventajas usando la 6 que la 6 pero como dije para este último creo =)
Por cierto, raro ver un programador que utilice Mac como su plataforma de cabecera.
Crees que sea raro? Yo cada vez veo más programadores con Mac. Y también con Linux. Donde predomina Windows obviamente es en .NET pero para Java y varios otros lenguajes/plataformas, Mac es bastante común creo yo.
Submitted by wishmaster77 on Vie, 07/30/2010 - 09:23.
Si, bastante; bueno cuando alguien me dice que programa con una Mac, seguro es para usar XCode y hacer aplicaciones para iP(hone/od); ¿Pero para Java?; en Java siempre había visto sólo Linux y muy raro alguien que usa Windows.
Yo actualice mi server apache-tomcat a la 6 y el performance y funcionamiento bajo Linux ha sido adecuado por mas de 4 meses, sin embargo al desarrollar bajo Linux con kernel 2.6 Mandriva, empece a ver problemas con las fallas de Segmentacion (Segmentation Fault) en la versión 6, ajuste mi aplicación a la versión 5 y desaparecierión los problemas de Segmentation gault, entonces tienes que sopesar que es mas importante para el ambiente de producción, algo que funcione "esperanzadoramente con menos fallas" o algo más propicio a fallas... pero también como developer siempre estas buscando hacer las tareas similares o rutinarias de maneras mas sencillas ocn nuevas versiones... esperemos que la version 6 para Linux madure...
Las grandes empresas tienen miedo de migrar sus aplicativos hecho en JAVA 1.3 y 1.5 a JAVA 5 ... (se orinan de miedo), cuando la verdad JAVA 5 soporta todo lo anterior (eso es lo bueno). En mi opinión el JDK más usado por marcar una grandiferente el el JAVA 5 en todo el mundo a mi gusto trabajo y prefiero JAVA 6. Java 1.4 tambien he trabajado con el pero me parece ya muy militado.
Últimamente uso la 6, principalmente por políticas de la empresa. Hace un año tuve que usar la 7, también por políticas de seguridad, de una empresa en donde estaba desarrollando.
Estoy en Java 8, y en uno de los proyectos estoy preparando las cosas para migrar a Java 11. Me he topado con varias broncas de distinta índole, pero en general puedo comentar esto:
Súbanse a Gradle 5 (si usan gradle)
Súbanse a Spring 5 (si usan Spring)
Súbanse a Spring Boot 2.1 (si usan SB)
Súbanse a Groovy 2.5 (si usan groovy)
Investiguen qué soporte para Java 11 tienen todas sus dependencias, al menos las directas
Documenten todo su proceso de actualización
En mi caso, hice un branch en el repo y le hago merge de master periódicamente; en ese branch es donde modifico lo necesario para que las cosas funcionen. Si me salen errores extraños en uno de los módulos al compilar o al ejecutar pruebas, lo documento y me lo salto para ver qué otras cosas fallan, para tratar de encontrar errores comunes al final y arreglarlos.
A la fecha tengo algunas broncas con cosas muy particulares como bouncy castle, y un servicio de Spring Boot que no levanta por una bronca en el application context (un bean duplicado o algo así).
Submitted by Sr. Negativo on Vie, 02/01/2019 - 10:16.
Migré un proyecto que tenía en Java 7 al 8 y costó un poco. Ni hablar de usar el JDK 9, 10 y el 11 todavía.
Estoy pensando vivir como ermitaño durante dos o tres años y después ver que tanto han cambiado las cosas en el mundo Java. Tal vez en un futuro sea el mismo jdk el que se migre automáticamente en nuestros proyectos y actualice las herramientas que utilizamos.
Navegando por la red,
Navegando por la red, encontré un artículo en el cual publican los resultados de una encuesta sobre la versión que más se está ocupando actualmente en los proyectos. La encuesta era acerca de desarrolladores de USA (y de la cual no recuerdo el link), en la que sobresalía el uso de la JDK 5.
Ahora me gustaría saber aquí en México como andamos en el uso de la JDK para desarrollar nuestros proyectos, ya sean personales o corporativos.
:-)
razones
pero seria interesante ver por qué, no? sinceramente yo uso la 5 porque no tengo JDK 6 en Mac. En algunos deployments en Linux esta la version 6 pero echamos ahi lo que compilamos en la version 5.
Alguna vez tuvimos que regresar a la version 5 porque resulta que habia un bug en ConcurrentHashMap que lo hacia lentisimo y en la 5 no habia ese problema... y yo estaba usando esa clase.
Uno de mis proyectos open source (j8583) esta en JDK 5 tambien pero le puse compatibilidad hacia 1.4 porque algunos usuarios me lo solicitaron, aunque la version principal es en JDK 5.
Given the choice of dancing pigs and security, users will choose dancing pigs, every single time. - Steve Riley
Dando razones.
Para fines propios siempre utilizo JDK6, sin embargo en los proyectos con empresas utilizo JDK1.4 y esto se debe a que los servidores con los que trabajan muchas empresas ya son obsoletos y trabajan unicamente con esa versión imponiendo la restricción. Por eso vote por la 1.4 :-(
JDK 6
Casi año y medio después ya puedo decir que estoy migrando de JDK 5 a JDK 6. Ya tengo Java 6 en mi mac, a 64 bits; el bug de ConcurrentHashMap ya fue resuelto hace tiempo. En producción ya llevo un rato usando JDK6 aunque están corriendo puras aplicaciones compiladas en JDK5. Y todavía no hemos usado ninguna característica específica de JDK6, solamente cosas de JDK5 como generics y anotaciones.
Sin embargo creo que el paso de JDK1.4 a JDK5 fue como pasar de VHS a DVD y el paso de JDK5 a JDK6 es como pasar de DVD a Blu-ray; las ventajas ya no son tan asombrosas y realmente no sientes que te pierdes de mucho por quedarte en la versión 5.
Aunque los cambios no sean
Aunque los cambios no sean muchas veces sorprendentes, siempre es mejor estar actualizados para no desactualizarse ¿No creen?
Que buena deducción jajaja.
Que buena deducción jajaja. Pues creo que depende de lo que vallas a hacer, como mencionan arriba, muchas veces se requiere utilizar versiones anteriores porque es más facil eso, que migrar complatemante un sistema.
Lo que si es recomendable es que las cosas nuevas se realicen con las ultimas versiones y que se brinde la mayor compatibilidad con las versiones pasadas.
En lo personal uso la 1.5 para sistemas ya hechos y la 1.6 para nuevos requerimientos.
RE: Aunque los cambios no sean
Depende. Los clientes más importantes de Sun, Oracle, IBM prefieren ser conservadores. Para ellos es preferible la estabilidad y la compatibilidad, no quieren exponer sus aplicaciones a un problema debido a un bug en una versión nueva o a una incompatibilidad o falta de actualización en otros componentes. Cuando un consultor dice "empleamos tecnología de punta" o "la más avanzada tecnología", ya sé que no tiene experiencia trabajando con corporativos grandes, sino con más bien con empresas pequeñas que suelen (y pueden) ser más innovadoras.
Saludos
Javier Castañón
Re: Que buena deducción jajaja.
Lo que puede ser recomendable en un ambiente tal vez no lo sea en otro. La mayor compatibilidad con versiones pasadas se obtiene utilizando software de versiones anteriores también.
Por ejemplo, si tienes un centro de datos con decenas de servidores de aplicaciones de una versión 'x', y siguiendo el razonamiento que expones, una aplicación nueva debería desarrollarse sobre la versión 'X + 1' de dicho software. Entonces ya no tienes un estándar en cuanto a servidor de aplicaciones. Debes recapacitar a los administradores y en su caso a los desarrolladores en la nueva versión, debes mantener dos versiones, etc. Eso eleva los costos. Es recomendable para algunos, pero no para otros. Generalmente, mientras más grande, más lento.
Saludos
Javier Castañón
Quizás en web no
@ezamudio
Quizás en web no, pero por ejemplo en aplicaciones de escritorio el JDK 5 es muy difícil hacer un icono de bandeja del sistema, lo que con JDK 6 en 3 patadas lo sacas, y creo también que en Micro Edition tienes más ventajas usando la 6 que la 6 pero como dije para este último creo =)
Por cierto, raro ver un programador que utilice Mac como su plataforma de cabecera.
Mac raro?
Crees que sea raro? Yo cada vez veo más programadores con Mac. Y también con Linux. Donde predomina Windows obviamente es en .NET pero para Java y varios otros lenguajes/plataformas, Mac es bastante común creo yo.
Si, bastante; bueno cuando
Si, bastante; bueno cuando alguien me dice que programa con una Mac, seguro es para usar XCode y hacer aplicaciones para iP(hone/od); ¿Pero para Java?; en Java siempre había visto sólo Linux y muy raro alguien que usa Windows.
Encuesta
Creo que es buen tema para una encuesta, veamos qué usan los miembros de esta comunidad.
Dado que soy novato uso la
Dado que soy novato uso la ultima version por que no se de que me pierdo al no usar otras versiones
Pues la tendencia me parece es a la 6 pero depende ...
Yo actualice mi server apache-tomcat a la 6 y el performance y funcionamiento bajo Linux ha sido adecuado por mas de 4 meses, sin embargo al desarrollar bajo Linux con kernel 2.6 Mandriva, empece a ver problemas con las fallas de Segmentacion (Segmentation Fault) en la versión 6, ajuste mi aplicación a la versión 5 y desaparecierión los problemas de Segmentation gault, entonces tienes que sopesar que es mas importante para el ambiente de producción, algo que funcione "esperanzadoramente con menos fallas" o algo más propicio a fallas... pero también como developer siempre estas buscando hacer las tareas similares o rutinarias de maneras mas sencillas ocn nuevas versiones... esperemos que la version 6 para Linux madure...
madure?
Yo diría que Java 6 para Linux está bastante maduro. Tal vez estás usando una versión vieja de Tomcat que depende de Java 5...
JDKs
Las grandes empresas tienen miedo de migrar sus aplicativos hecho en JAVA 1.3 y 1.5 a JAVA 5 ... (se orinan de miedo), cuando la verdad JAVA 5 soporta todo lo anterior (eso es lo bueno). En mi opinión el JDK más usado por marcar una grandiferente el el JAVA 5 en todo el mundo a mi gusto trabajo y prefiero JAVA 6. Java 1.4 tambien he trabajado con el pero me parece ya muy militado.
Saludos.
RESPONDIENDO
Es verdad el problema con los servidores antiguos y su no soporte para un JDK moderno es un gran problema !
porque es la que me gusta mas
porque es la que me gusta mas
Yo uso la 6
Últimamente uso la 6, principalmente por políticas de la empresa. Hace un año tuve que usar la 7, también por políticas de seguridad, de una empresa en donde estaba desarrollando.
Esta encuesta es del 2008,
Esta encuesta es del 2008, estaria interesante que volvieran(mos) a votar para ver el cambio :)
yo ya
ya cambié mi voto a Java 7
Done!
El mío igual ya cambio a 7!
Java 7
Esta mas viejitaaaaaa esta
Esta mas viejitaaaaaa esta cuestion....
Re: ¿Qué versión de Java…
Pese a que existe Java 11 ( :-o ), uso Java 8 en mis proyectos.
o
Y seguimos
Estoy en Java 8, y en uno de los proyectos estoy preparando las cosas para migrar a Java 11. Me he topado con varias broncas de distinta índole, pero en general puedo comentar esto:
En mi caso, hice un branch
en el repo y le hago merge de master periódicamente; en ese branch es donde modifico lo necesario para que las cosas funcionen. Si me salen errores extraños en uno de los módulos al compilar o al ejecutar pruebas, lo documento y me lo salto para ver qué otras cosas fallan, para tratar de encontrar errores comunes al final y arreglarlos.
A la fecha tengo algunas broncas con cosas muy particulares como bouncy castle, y un servicio de Spring Boot que no levanta por una bronca en el application context (un bean duplicado o algo así).
¿A ustedes cómo les va de su migración a Java 11?
Sigo con el JDK 8
Migré un proyecto que tenía en Java 7 al 8 y costó un poco. Ni hablar de usar el JDK 9, 10 y el 11 todavía.
Estoy pensando vivir como ermitaño durante dos o tres años y después ver que tanto han cambiado las cosas en el mundo Java. Tal vez en un futuro sea el mismo jdk el que se migre automáticamente en nuestros proyectos y actualice las herramientas que utilizamos.
en Java 11 cuesta la licencia?
según leí en este articulo si cuesta:
la opción que proponen es OpenJDK 11