Vi que Java 1.2 también se conoce como Java 2. ¿Se refieren "Java 1.x" y "Java x" (por ejemplo, "Java 1.6" y "Java 6") a la misma versión de Java?
Y si es así, ¿por qué la necesidad de esta dualidad?
Vi que Java 1.2 también se conoce como Java 2. ¿Se refieren "Java 1.x" y "Java x" (por ejemplo, "Java 1.6" y "Java 6") a la misma versión de Java?
Y si es así, ¿por qué la necesidad de esta dualidad?
Respuestas:
Sun Microsystems tenía en aquel entonces el mal hábito de pasar por numerosos cambios de nomenclatura para sus productos y, en primer lugar, usar un nombre confuso.
Originalmente, el término "Java" se usaba para describir indiscriminadamente:
Con respecto a los números de versión, como otros señalaron, fue en parte debido al marketing, y en parte porque simplemente sentían que Java había hecho tal progreso, una actualización de versión principal era más adecuada (para Java 1.2 / Java 2, y cuando Java 1.5 / Java 5)
Entonces, lo que llamamos Java 2 fue en realidad Java 1.2 a 1.4. Java 3 y Java 4 nunca existieron, y pasamos directamente a Java 5, ya que intentaron explicarlo aquí (desde esta página sobre nombres y versiones ).
Probablemente también estaba un poco bien para no meterme con su numeración interna utilizada en sus sistemas de seguimiento y desarrollo. Tiendo a pensar en ello como 1.x = versión de idioma y X = versión de idioma y producto. Tiene sentido, ya que los usuarios normales no necesitan preocuparse por incrementos menores y actualizaciones, ya que fomentan las actualizaciones automáticas, y estos no deberían introducir ningún cambio en el idioma o el código de bytes.
Tenga en cuenta también que se vuelve más extraño cuando mira versiones menores y actualiza números. Por ejemplo, teníamos un Java 1.3.1 y posterior Java 1.4.1 y 1.4.2.
Sin embargo, no hubo 1.xy desde entonces, siempre ha sido 1.x.0_UPDATE:
Tenga en cuenta también que también verá actualizaciones a las que se hace referencia con cualquiera de estas convenciones de nombres:
Y para mayor confusión y para mantenerse al día con la tradición de Sun Microsystems, Oracle ahora lanza anuncios como este.
Tenga en cuenta también que no solo se acostumbraron a cambiar la numeración, sino también los nombres de las ofertas de productos. Entonces, Java 2 tiene J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) y J2ME (Java 2 Mobile Edition). Desde la introducción de Java 5, estas convenciones y acrónimos se han eliminado (aunque algunos tienen una capacidad de recuperación increíblemente larga, principalmente gracias a las agencias de reclutamiento tontas que no tienen idea de lo que están hablando) a favor de Java SE, Java EE y Java ME , que a veces se abrevian, pero no deberían oficialmente, a JSE, JEE (bastante común) y JME.
Lea esta página para obtener más información sobre el sistema de versiones actual utilizado por Sun Microsystems y ahora Oracle desde Java 1.3.1 .
(Para obtener puntos de bonificación, intente buscar el historial de NetBeans ahora para ver que también fue renombrado algunas veces).
También están luchando para decidir si deben actualizar las referencias existentes o no. Por ejemplo, esta página sobre versiones anteriores utiliza el antiguo sistema de numeración para versiones anteriores, pero los nombres de productos más nuevos (Java SE 1.1, 1.2, 1.3 y 1.4 no se publicaron con esta convención de nomenclatura).
Tal vez solo están jugando con nosotros por diversión. ¿Quién sabe?
También se divirtieron nombrando y numerando allí, por supuesto.
La especificación del lenguaje Java solía publicarse con un sistema de versiones de "edición" de libros, siguiendo los números de producto. Entonces:
Hasta aquí todo bien.
Excepto que la "Especificación del lenguaje Java" se reeditó más tarde cuando se introdujeron cambios de idioma en Java 5 (lo cual tiene sentido, no publicará nuevas ediciones de libros solo por diversión). Como era la tercera vez que lo editaban, lo llamaron (tada!) "Java Langauge Specification, 3rd edition".
Pero obviamente, la gente comenzó a preguntarse por qué 1.3 y 1.4 no tenían una especificación de idioma, o por qué Java 5 se combinaba con una tercera edición de la especificación de idioma.
Entonces, Java 7 ahora lo llama "Especificación del lenguaje Java, Java SE 7 Edition", aunque a menudo nos referimos a este como JLS7 para abreviar y evitar RSI.
Para diversión adicional, mire el error de nomenclatura de Microsoft Windows RT o la locura de nomenclatura y numeración de Apple con iPhones, iPads o incluso iPods.
La respuesta corta: marketing.
Una respuesta más larga: la forma abreviada (por ejemplo, Java 6) es la llamada "versión del producto" y es cómo se comercializa Java para los usuarios y en comunicados de prensa, etc.
La forma más larga (por ejemplo, Java 1.6.0) es la "versión de desarrollador". Se usa internamente y los desarrolladores de Java también lo encontrarán (por ejemplo java.version
, la propiedad del sistema usa la forma larga).
Vea estas páginas para más información:
Porque el libro con el título "Learn Shiny New Java 3" se agotará antes que el libro con el título "What's new in Java 1.3".
Entonces sí, se trata principalmente de razones de marketing. Por otro lado, no veo un crimen severo aquí. Después de todo, en algunos productos, como Mozilla o Chrome, el número de compilación principal se incrementa constantemente, y otros se limitan a incrementar el número de compilación menor, aunque, a veces, se producen grandes cambios con cada nueva versión.
Algunos, como Apple, no quieren dejarnos, usuarios, con nombres aburridos como "Mac OS 10.6".
Y Sun solía estar bien con N alias en lugar de presentar la versión "Java Green Diplodocus".
TheServerSide explica el cambio de "Java 1.x" a "Java x" de la siguiente manera :
Sun ha cortado el "1". cambiar J2SE 1.5.0 a J2SE 5.0. La razon del cambio? Sun afirma que "esta es la actualización más importante de la plataforma Java y el lenguaje de programación desde su lanzamiento inicial hace casi una década", y que esta versión es digna.
Aparentemente hubo conversaciones para cambiar el nombre a "J5SE", pero se pensó que la marca J2EE significa demasiado para cambiar.
¿No son divertidos los números de versión?
Lea el comunicado de prensa: Sun presenta el lanzamiento de la plataforma Java más importante y avanzado en 5 años
Nota: Oracle elimina el enlace en la cita anterior . Por lo que puedo decir, está disponible en prnewswire :
Sun Microsystems, Inc. (Nasdaq: SUNW), el creador
y defensor líder de la tecnología Java (TM), presentó hoy Java 2 Platform
Standard Edition (J2SE (TM)) 5.0, la actualización más significativa de la
plataforma Java y el lenguaje de programación desde su lanzamiento inicial hace casi una década
. Conocida como Project Tiger, esta plataforma Java actualizada ofrece una facilidad
de desarrollo dramática , nuevas funciones de monitoreo y administración de aplicaciones, un
enfoque dedicado en el soporte de cliente enriquecido para el escritorio de la PC y un
rendimiento récord ...
En aras de la exhaustividad, tenga en cuenta que el estilo de versión 1.X no se ha eliminado por completo .
"Versión 1.5.0" utilizada por los desarrolladores
J2SE también mantiene el número de versión 1.5.0 (o 1.5) en algunos lugares que solo son visibles para los desarrolladores, o donde los programas analizan el número de versión. Como se mencionó, 1.5.0 se refiere exactamente a la misma plataforma y productos numerados 5.0 ...
También tenga en cuenta que, como se señala en los comentarios, el término "J2SE" utilizado anteriormente se ha cambiado más tarde a "Java SE".