J'ai vu que Java 1.2 est également appelé Java 2. Est-ce que "Java 1.x" et "Java x" (par exemple "Java 1.6" et "Java 6") font référence à la même version de Java?
Et si oui, pourquoi le besoin de cette dualité?
java
history
versioning
product-names
Federico Zancan
la source
la source
Réponses:
À l’époque, Sun Microsystems avait la mauvaise habitude de procéder à de nombreux changements de nom pour ses produits et de commencer par utiliser un nom déroutant.
Que contient un nom ou que signifie "Java"?
A l'origine, le terme "Java" était utilisé pour décrire indifféremment:
Numéro interne et externe
En ce qui concerne les numéros de version, comme d'autres l'ont fait remarquer, c'était en partie à cause du marketing et parce qu'ils avaient simplement l'impression que Java avait fait de tels progrès, une mise à niveau majeure de la version convenait mieux (pour Java 1.2 / Java 2 et lorsque 5)
Donc, ce que nous appelons Java 2 était en réalité Java 1.2 à 1.4. Java 3 et Java 4 n’ont jamais existé et nous sommes passés directement à Java 5, comme ils ont essayé d’expliquer ici (à partir de cette page sur la dénomination et la gestion des versions ).
J'étais probablement aussi un peu trop pour ne pas déranger avec leur numérotation interne utilisée dans leurs systèmes de suivi et de développement. J'ai tendance à penser que c'est 1.x = version linguistique et X = langue et version du produit. Cela a du sens, étant donné que les utilisateurs normaux n’ont pas à s’inquiéter d’incréments et de mises à jour mineurs, car ils encouragent les mises à jour automatiques, et que celles-ci ne doivent pas introduire de modifications dans la langue ou le bytecode.
Notez également que cela devient plus étrange lorsque vous examinez des versions mineures et mettez à jour des nombres. Par exemple, nous avions Java 1.3.1 et plus tard Java 1.4.1 et 1.4.2.
Mises à jour
Cependant, il n'y a plus eu de 1.xy depuis, cela a toujours été 1.x.0_UPDATE:
Notez également que vous verrez également les mises à jour référencées avec l'une de ces conventions de dénomination:
Et pour plus de confusion et pour suivre la tradition de Sun Microsystems, Oracle supprime maintenant les annonces de ce type.
Noms de produits
Notez également que non seulement ils ont pris l’habitude de changer la numérotation, mais également les noms des offres de produits. Ainsi, Java 2 est doté de J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) et J2ME (Java 2 Mobile Edition). Depuis l'introduction de Java 5, ces conventions et acronymes ont été abandonnés (bien que certains aient une résistance incroyablement longue, surtout grâce aux agences de recrutement stupides qui n'ont aucune idée de quoi elles parlent) en faveur de Java SE, Java EE et Java ME. , qui sont parfois abrégés - mais ne devraient pas officiellement - JSE, JEE (assez commun) et JME.
Vous avez lu cette page pour plus d’informations sur le système de gestion de version utilisé par Sun Microsystems et maintenant Oracle depuis Java 1.3.1 .
(Pour les points bonus, essayez de consulter l'historique de NetBeans maintenant pour voir qu'il a également été renommé plusieurs fois).
Ils ne se connaissent pas
Ils ont également du mal à décider s’ils doivent ou non mettre à jour en arrière les références existantes. Par exemple, cette page sur les anciennes versions utilise l'ancien système de numérotation, mais les nouveaux noms de produits (Java SE 1.1, 1.2, 1.3 et 1.4 n'ont pas été publiés avec cette convention de dénomination).
Peut-être qu'ils ne font que baiser avec nous pour le plaisir. Qui sait?
Qu'en est-il du JVMS et du JLS?
Bien sûr, ils se sont amusés à nommer et à numéroter.
La spécification du langage Java utilisé pour être publié avec un livre « édition » versioning systè ,, suivant les numéros de produit. Alors:
Jusqu'ici tout va bien.
Sauf que la "spécification du langage Java" n'a été rééditée que lorsque des modifications de langue ont été introduites dans Java 5 (ce qui a du sens, vous ne publierez pas de nouvelles éditions de livres juste pour le plaisir). Comme c'était la 3ème fois qu'ils l'éditaient, ils l'appelaient (tada!) "Java Langauge Specification, 3ème édition".
Mais de toute évidence, les gens se sont alors demandé pourquoi les versions 1.3 et 1.4 n'avaient pas de spécification de langage ou pourquoi Java 5 était associé à une 3e édition de la spécification de langage.
Ainsi, Java 7 l’appelle maintenant simplement "Spécification du langage Java, édition Java SE 7", bien que nous nous référions souvent à celui-ci sous le nom JLS7 pour le raccourci et pour éviter RSI.
Ils ne sont pas les seuls ...
Pour plus de plaisir, regardez l'échec d'attribution de noms de Microsoft Windows RT, ou la folie de nommage et de numérotation d'Apple avec un iPhone, un iPad ou même un iPod.
la source
La réponse courte: le marketing.
Une réponse plus longue: la forme abrégée (par exemple, Java 6) correspond à la "version du produit" et représente la manière dont Java est commercialisé auprès des utilisateurs et des communiqués de presse, etc.
La forme la plus longue (par exemple, Java 1.6.0) est la "version pour développeur". Il est utilisé en interne et sera également rencontré par les développeurs Java (par exemple
java.version
, la propriété système utilise la forme longue).Voir ces pages pour plus d'informations:
la source
Parce que le livre intitulé "Learn Shiny New Java 3" sera épuisé avant le livre intitulé "Quoi de neuf dans Java 1.3".
Alors oui, ce sont principalement des raisons de marketing. Par contre, je ne vois pas de crime grave ici. Après tout, dans certains produits, tels que Mozilla ou Chrome, le nombre de versions majeures est constamment incrémenté, tandis que d’autres s’en tiennent au nombre de versions mineures, bien que, parfois, de grandes modifications apparaissent à chaque nouvelle version.
Certains, comme Apple, ne veulent pas nous laisser, utilisateurs, avec des noms ternes comme "Mac OS 10.6".
Et auparavant, OK acceptait N alias au lieu d’introduire la version "Java Green Diplodocus".
la source
TheServerSide explique comment passer de "Java 1.x" à "Java x" comme suit :
Le lien de note dans la citation ci-dessus est tué par Oracle . Autant que je sache , il est disponible sur prnewswire :
Par souci d'exhaustivité, notez que le style de version 1.X n'a pas été complètement supprimé .
Notez également que, comme indiqué dans les commentaires, le terme "J2SE" utilisé ci-dessus a été remplacé par "Java SE".
la source