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?
java
history
versioning
product-names
Federico Zancan
fuente
fuente
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.
¿Qué hay en un nombre o qué significa "Java"?
Originalmente, el término "Java" se usaba para describir indiscriminadamente:
Número interno y externo
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.
Actualizaciones
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.
Nombres de productos
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).
Ellos no se conocen
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?
¿Qué pasa con el JVMS y JLS?
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.
No son los únicos ...
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.
fuente
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:
fuente
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".
fuente
TheServerSide explica el cambio de "Java 1.x" a "Java x" de la siguiente manera :
Nota: Oracle elimina el enlace en la cita anterior . Por lo que puedo decir, está disponible en prnewswire :
En aras de la exhaustividad, tenga en cuenta que el estilo de versión 1.X no se ha eliminado por completo .
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".
fuente