Комментарии 36
Java 9 сломана. Да и сам сталкивался с ситуацией, когда проекты, которые нормально компилировались в предыдущих версиях JDK, переставали собираться в 9-й из-за подобных багов.
С каких пор необходимость тюнить настройки GC стала называться словом «сломана»? Да, надо тюнить. И не только GC. Это нормально.
А причём тут настройки GC? Или просевшая производительность — это по-вашему единственная проблема 9-й версии?
… то незабываемое чувство, когда версия языка меняется быстрее чем версия проэкта…
Сидя на Java 8, ощущение от Java 9 такое же, как было от Windows Millenium. Т.е. забавно конечно, но не понятно чем оно настолько лучше Win 98, что стоило бы переползать. Тогда многие стали ждать Win XP…
Нет, Вин2к — отличная стабильная штука, новая ядро. А миллениум (по отзывам) самая глючная 9х.
Нет, win2k и millenium вышли практически одновременно и это были параллельные ветки. Win2k была развитием NT ядра, которое в итоге победило, но на тот момент win2k была сугубо рабочим инструментом (с играми тяжело там было). Потом вышла Win XP, которая стала win2k для людей. Так что ждем Java 10 )
Вы зря считаете что я не застал это время. Более чем застал dos 3.22 и ниже.
Далее — IMHO:

Всего чего крайне не хватало для домашнего пользователя в winNT (поддержка USB, нормальной версии directX и др.) — ожидалось в win2000, которая могла стать нормальной домашней платформой.

И к 2000-му, больше ждали win2000 — тогда XP еще не была анонсирована.
А ME вышла только летом. Поэтому за эти полгода, кто был готов пробовать что-то новое — поставили 2к.

Миллениум обещался быть шагом вперед по сравнению с 98. Но оказался той же 98-й с обновленными драйверами и навешанными украшениями. Основные проблемы остались (собственно они и не могли уйти без смены ядра ОС).

К выходу ME, очень многие успели опробовать 2k pro, и успеть привыкнуть к огромным достоинствам и некоторым недостаткам — полгода это много!
Поэтому переезд на ME подавляющему большинству показался шагом назад.

Да, возможно в 2000 не все старые игры работали, как в ME, но ведь в основном играли в достаточно небольшой список топовых игр, которые шли нормально (тот же starcraft, doom3, quake и тому подобные) и проблем не испытывали, а вот надежность — выросла в разы.

P.S. Между прочим, в первые годы у XP хватало хейтеров, ибо она была более требовательна по ресурсам, да и до выхода первого SP хватало проблем.
У меня в линолиуме отваливалось всё что можно и нельзя.
То что тв-тюнер не пошёл, это ладно, но то что отваливалась видеокарта (Riva TNT 2 Pro — в те времена была простенькой) — это было феерично.
Особо приколько когда через некоторое время после загрузки дрова на чипсет отваливались, заменяясь универсальными.
Я до ХР перебивался сидя то в НТ, то в 98, то перебирая разные пингвинов.
Windows Millenium Edition (ME) — это последняя ОС линейки Win9x. Windows 2000 — это одна из ОС линейки NT. Это разные ОС.
Я бы сказал, что Java9 для меня это про JVM + API, а не про синтаксические изменения в самом языке. Хотя type inference Java 10 (var a=1;) тоже ничего. Java 9 — immutable collections, stream changes, options improvement, http improved API и т.д.

Мне это все сильно напоминает Java 6 после Java 5.
Windows ME была продолжением (и как бы завершением) линейки Win 3.1/95/98. Windows XP — это Windows 2k со свистелками и перделками (а если убрать их, то неотличима от Win2k), и это продолжение линейки NT.
Блин, я почувствовал себя таким старым, когда вижу что уже реально есть люди, нуждающиеся в подобных разъяснениях :(
Oracle не планирует обновлять рабочие станцие с Java 8 на более поздние версии через опцию auto update.

И не надо. Хоть у кого-то эта штука "включена"? Не знаю ни одного такого :)

А зачем отключать автообновление (по крайней мере, обычному пользователю)? На случай, если появится регрессии, или есть другие причины?


Лично я столько в своё время наслушался про "Очередная уязвимость в Java, мы все умрём!!!!111", что отключение автообновлений для меня выглядит странно (хотя и не факт, что это и правда создаёт так много опасностей для пользователя при условии, что апплеты отключены). По этой же причине несколько странной выглядит официальная рекомендация разводить на компьютерах пользователей зоопарк устаревших версий.

Автообновления Java — это та штука, которая задалбывает вылезать в самый неподходящий момент и раздражает вообще всех пользователей?
Всяко лучше, чем окно шифровальщика. Да и ставится по-умолчанию нечётная ветка, где в обновлениях исправляют только уязвимости.
Нет. Дело в том, что из-за навязчиво неадекватно сделанной системы обновлений, которыая регулярно требует повышения привилегий еще до начала своей работы — её все тупо удаляют.
Зачем вообще ПО для апдейта требует повышения привилегей на старте? Это что за паттерн?
НЛО прилетело и опубликовало эту надпись здесь

Java 8, кое-где 6.
9 только на своих проектах. Но она сырая, куча библиотек и приложений на ней не работает. Вот последний пример — logstash.

Расскажите пожалуйста как проходит день разработчика на Java с версией < 6.

Так же, как и на любой другой версии Java. Встречал проекты на Java > 6, рабочий день на которых — пытка. Встречал проекты, мало изменившиеся с того момента, когда их создали 10+ лет назад на Java 1.4, и рабочий день на них — вполне приятен. Ощущения от работы на проекте зависят не столько от того, НА ЧЁМ он написан, сколько от того, КЕМ он написан.

Write once, run anywhere — пытаюсь применить это к java 9 со сроком поддержки в 7 месяцев

В продакшене были версии Java 6, 7 и 8. И всегда прекрасно себя чувствовал.
Непривычно было только один раз года 4 назад, когда с проекта на Java 7 перешёл на проект с Java 6: но к отсутствию dimond operator, try-with-resources, multi-catch exception привык быстро (только некоторые наработки пришлось портировать).

Из того, что может (лично меня) побудить перейти на Java 9 — это стандартный годный HTTP-клиент и jshell, но с этим и подождать можно.

А у нас тут в С++ еще модули не завезли. Живем с хедерами. Плак-плак… Часы компиляции на проект, плак-плак.
Рейнхольт открытым текстом сказал, что жить «от получки до получки», «от LTS до LTS» — это не самая лучшая идея. Изменений может накопиться так много, что перейти уже не получится. Релизы с коротким циклом — это полноценные настоящие релизы, на них очень сильно рекомендуется переходить.

Наконец-то Java будет ощущаться как современная технология с быстрым релизным циклом, а не как десятилетнее говно мамонта. Это чудесно!

Да, придётся кое-что адаптировать и переписывать. Это нормально. Во всём мире, во всех остальных технологиях (включая конкурирующий C# .NET) так делают постоянно.

Я Java бы выучил только за то,
Что раз написав — используй легко.
Релизы не часто, но верность хранит
И качеству кода, и стилю.
Как часто бывает, когда любой наш коммит
Останется с нами на годы?
Совместимости ради полюбишь и ты,
Друг мой, Java исходные коды.

Да, придётся кое-что адаптировать и переписывать. Это нормально. Во всём мире, во всех остальных технологиях (включая конкурирующий C# .NET) так делают постоянно.

Такая бяка только в .NET Core встречалась на ранних этапах. В обычном же .NET, программа написанная на C# v1 — прекрасно будет работать во всех последующих версиях без всяких адаптаций, переписываний или перекомпиляций.
Хех. Оригинальная идея же была — напиши однажды, откомпилируй, запускай везде. Сейчас получается — прихвати с собой среду, в которой ты уверен, что скомпилированное заведётся. В чём тогда профит по отношению к Qt + C++, например? Всяк бинарную сборку под каждую платформу собирать…
Самая мякотка — это ты притащил специфичный JRE на платформу, а он на этой версии системы уже (или еще) не работает или требует сборки из исходников специальных версий C библиотек, как это было в ранние годы sun java на linux.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.