Я видел, что Java 1.2 также известна как Java 2. Означают ли «Java 1.x» и «Java x» (например, «Java 1.6» и «Java 6») одну и ту же версию Java?
И если да, то зачем нужна эта двойственность?
Я видел, что Java 1.2 также известна как Java 2. Означают ли «Java 1.x» и «Java x» (например, «Java 1.6» и «Java 6») одну и ту же версию Java?
И если да, то зачем нужна эта двойственность?
Ответы:
У Sun Microsystems в то время была плохая привычка проходить через многочисленные изменения в наименованиях своих продуктов и в первую очередь использовать запутанное имя.
Первоначально термин «Java» использовался для описания без разбора:
Что касается номеров версий, как указывали другие, это было отчасти из-за маркетинга, а отчасти из-за того, что они просто чувствовали, что Java достигла такого прогресса, более подходящим было обновление основной версии (для Java 1.2 / Java 2 и когда Java 1.5 / Java 5).
Итак, то, что мы называем Java 2, на самом деле было Java 1.2 до 1.4. Java 3 и Java 4 никогда не существовали, и мы перешли непосредственно к Java 5, как они пытались объяснить здесь (с этой страницы по именованию и управлению версиями ).
Я также был, вероятно, немного, чтобы не связываться с их внутренней нумерацией, используемой в их системах отслеживания и разработки. Я склонен думать об этом как 1.x = языковая версия и X = язык и версия продукта. Это имеет смысл, поскольку обычным пользователям не нужно беспокоиться о незначительных приращениях и обновлениях, поскольку они поощряют автоматические обновления, и они не должны вносить каких-либо изменений в язык или байт-код.
Обратите внимание, что это становится страннее, когда вы смотрите на второстепенные версии и номера обновлений. Например, у нас была Java 1.3.1 и более поздние версии Java 1.4.1 и 1.4.2.
Однако с тех пор не было 1.xy, всегда было 1.x.0_UPDATE:
Также обратите внимание, что вы также увидите обновления, на которые ссылается одно из следующих соглашений об именах:
И для дополнительной путаницы и чтобы идти в ногу с традицией Sun Microsystems, Oracle теперь пропускает подобные объявления.
Также обратите внимание, что они привыкли не только менять нумерацию, но и названия продуктов. Итак, в Java 2 есть J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition) и J2ME (Java 2 Mobile Edition). С момента появления Java 5 эти соглашения и аббревиатуры были отброшены (хотя некоторые обладают невероятно долгой устойчивостью, в основном спасибо за тупые кадровые агентства, которые не имеют ни малейшего представления о том, о чем они говорят) в пользу Java SE, Java EE и Java ME , которые иногда сокращаются - но не должны официально - JSE, JEE (довольно часто) и JME.
Вы читаете эту страницу для получения дополнительной информации о текущей системе управления версиями, используемой Sun Microsystems и теперь Oracle с Java 1.3.1 .
(Для получения бонусных баллов попробуйте просмотреть историю NetBeans, чтобы увидеть, что она также несколько раз переименовывалась).
Они также пытаются решить, следует ли им обновить существующие ссылки или нет. Например, эта страница о более старых выпусках использует старую систему нумерации для старых выпусков, но более новые названия продуктов (Java SE 1.1, 1.2, 1.3 и 1.4 не были выпущены с этим соглашением об именах).
Может, они просто развлекаются с нами. Кто знает?
Конечно, им тоже было весело с именами и нумерацией.
Спецификация языка Java используется, будет выпущена с книгой «изданием» контроль версий противовирусных ,, следующих номерами продукта. Так:
Все идет нормально.
За исключением того, что «Спецификация языка Java» была позже отредактирована только тогда, когда в Java 5 были введены изменения языка (что имеет смысл, вы не будете публиковать новые книжные издания просто для удовольствия). Поскольку это был третий раз, когда они редактировали его, они назвали его (tada!) «Спецификация Java Langauge, 3-е издание».
Но очевидно, что люди начали задаваться вопросом, почему 1.3 и 1.4 не имели языковой спецификации или почему Java 5 соответствовала третьей редакции языковой спецификации.
Итак, Java 7 теперь просто называет это «Спецификацией языка Java, Java SE 7 Edition», хотя мы часто называем это JLS7 для краткости и избегания RSI.
Для дополнительного удовольствия посмотрите Microsoft Windows RT с ошибками именования или безумием имен и нумерации Apple с iPhone, iPad или даже iPod.
Краткий ответ: маркетинг.
Более длинный ответ: краткая форма (например, Java 6) представляет собой так называемую «версию продукта» и показывает, как Java продается пользователям, в пресс-релизах и т. Д.
Более длинная форма (например, Java 1.6.0) является «версией разработчика». Он используется внутри, и также будет встречаться разработчиками Java (например, java.version
свойство системы использует длинную форму).
Смотрите эти страницы для получения дополнительной информации:
Потому что книга с названием «Learn Shiny New Java 3» будет продана раньше, чем книга с названием «Что нового в Java 1.3».
Так что да, это в основном маркетинговые причины. С другой стороны, я не вижу здесь серьезного преступления. В конце концов, в некоторых продуктах, таких как Mozilla или Chrome, основной номер сборки постоянно увеличивается, а другие придерживаются увеличения незначительного номера сборки, хотя иногда с каждым новым выпуском происходят большие изменения.
Некоторые, как Apple, не хотят оставлять нас, пользователей, с такими скучными именами, как «Mac OS 10.6».
А у Sun раньше было нормально работать с N-псевдонимом вместо того, чтобы выпускать «Java Green Diplodocus».
TheServerSide объясняет переход от «Java 1.x» на «Java х» следующим образом :
Солнце отрезало "1" изменить J2SE 1.5.0 на J2SE 5.0. Причина изменения? Sun утверждает, что «это самое значительное обновление платформы Java и языка программирования с момента ее первоначального выпуска почти десять лет назад», и что эта версия заслуживает внимания.
Очевидно, были разговоры о переименовании в «J5SE», но считалось, что бренд J2EE значит слишком много, чтобы измениться.
Разве номера версий не веселые?
Прочтите пресс-релиз: Sun представляет самый значительный и продвинутый релиз платформы Java за 5 лет
Примечание ссылка в цитате выше, убит Oracle . Насколько я могу судить, он доступен на prnewswire :
Sun Microsystems, Inc. (Nasdaq: SUNW), создатель
и ведущий сторонник технологии Java (TM), сегодня представила Java 2 Platform
Standard Edition (J2SE (TM)) 5.0, самое значительное обновление
платформы Java и языка программирования с тех пор его первоначальный выпуск почти десять лет
назад. Эта обновленная платформа Java, известная как Project Tiger, предлагает невероятную простоту
разработки, новые функции мониторинга и управления приложениями,
особую ориентацию на расширенную поддержку клиентов для настольных ПК и рекордную
производительность ...
Для полноты заметим, что стиль версии 1.X не был полностью отброшен .
«Версия 1.5.0» используется разработчиками
J2SE также сохраняет номер версии 1.5.0 (или 1.5) в некоторых местах, которые видны только разработчикам, или где номер версии анализируется программами. Как уже упоминалось, 1.5.0 относится к той же платформе и продуктам под номером 5.0 ...
Также обратите внимание, что, как указано в комментариях, термин «J2SE», использованный выше, был позже изменен на «Java SE».