После шести месяцев разработки компания Oracle выпустила платформу Java SE 14 (Java Platform, Standard Edition 14), в качестве эталонной реализации которой используется открытый проект OpenJDK. В Java SE 14 сохранена обратная совместимость с прошлыми выпусками платформы Java, все ранее написанные Java-проекты без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 14 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64), Solaris, Windows и macOS. Разработанная в рамках проекта OpenJDK эталонная реализация Java 14 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52559
В дебиане, убунту и граале будет нескоро.
в смысле нескоро
https://www.oracle.com/java/technologies/javase-jdk14-downlo...
Linux Debian Package jdk-14_linux-x64_bin.deb
есть и PPA
а если речь про стандартные репы, то скакой стати данному пакету вообще там быть
Во-первых оно там есть, если речь про OpenJDK 14
речь про Oracle
> речь про Oracleс чего про оракл? зачем оно мне, если есть OpenJDK ? чай меня требование регулятора о договоре на суппорт не теребит
Дело не только в суппорте, но еще и в том, что надо делать лицензионные отчисления чтобы использовать в продакшене Oracle JDK.
Для Oracle JDK надо, для OpenJDK нет. Тем более, что Oracle не единственная компания, которая предоставляет тех. поддержку.
> Тем более, что Oracle не единственная компания, которая предоставляет тех. поддержку.Да и JDK тоже: http://bell-sw.com (СПб)
Что б ты понимал, не существует сборки жавы под названием OpenJDK. OpenJDK - это репа с исходниками. Собранная под определённую платформу JRE - это вообще другое. Есть например бесплатный AdoptOpenJDK - несертифицированный, кривой и косой. Из сертифицированных, с длительной поддержкой и бесплатных существует ровно один дистрибутив - амазоновский Corretto.
>несертифицированный, кривой и косойМежду прочим, менее кривой и косой чем тот же icedtea (его сборки). А openj9 вообще киллерфича. Пс https://adoptopenjdk.net/support.html#commercial-support
>амазоновский
ну-ну
> Из сертифицированных, с длительной поддержкой и бесплатных существует ровно один дистрибутивЗабыл про https://developers.redhat.com/products/openjdk/download. Кстати, сотрудники RedHat осуществует поддержку openjdk 8 и 11: https://www.opennet.dev/opennews/art.shtml?num=50532 и https://www.redhat.com/en/about/press-releases/leadership-op...
Есть ещё https://bell-sw.com/pages/products, которая тоже сертифицирована и поддерживается бывшими сотрудниками Oracle из команды JVM Team: https://russoft.org/participant/bellsoft/
> Забыл про https://developers.redhat.com/products/openjdk/download
> The following downloads are for development onlyЭто для RHEL. За деньги.
> Есть ещё https://bell-sw.com
Похоже на правду, спасибо. Первый раз это вижу, через гугл при поиске бесплатных JRE такое не находилось, во всяком случае в мае прошлого года когда я это исследовал.
Есть же ещё Zulu community
> Дело не только в суппорте, но еще и в том, что надо
> делать лицензионные отчисления чтобы использовать в продакшене Oracle JDK.зачем вам именно Oracle JDK ?
Есть https://libericajdk.ru/ (или что то же самое https://bell-sw.com/).
Там пока 14 версии нет, но, думаю скоро завезут.
Это не Оракл, но на мой вкус приятный дистр.
Есть сборка с JavaFX, кому надо (мне надо).
Есть куча способов ставить: пакеты/архивы, докер-образы, репки (для Debian устанавливал).
Есть видео о том как они его делают (в частности, что JCK и другие тесты гоняют): https://youtu.be/ClENwenPkrw.
Есть возможность купить поддержку (и есть возможность не покупать), сам правда не пробовал.
Кому актуально: оно есть в реестре российского ПО.З.Ы.: Ещё есть сборки от Азул и прочих, про кого хуже знаю...
З.З.Ы.: В дистрах сборки тоже можно использовать, но, на сколько я знаю, JCK только сборка в RHEL проходит.
Беллсофт - это в основном бывшие сотрудники питерского офиса Sun и Oracle, которые не один год участвовали в разработке и сопровождении JVM, пока их Oracle не уволил в рамках "оптимизации".
> пока их Oracle не уволил в рамках "оптимизации"Насколько помню, совпало как раз с истериками про #russianhackers.
Не для рекламы, а для работы, мы рекомендуем именно эти сборки, так как только у них есть комплекты для систем разной разрядности, и у них есть варианты со встроенных JavaFX. Самая лучшая и гибкая комплектация. И сами трудимся в их JVM и клиентам рекомендуем. В общем спасибо ребятам за работу.
Мы пока только при разработке пробуем, но всё ок.
Есть небольшой (т.к. есть вокэраунд) недостаток их сборок против Азуловских и Оракловых: почему-то нет jfxsrc.zip (архива с сорцами JavaFX).
Воркэраунд: они выкладывают не только сборки но и архив с исходниками (всего JDK). Из этого архива можно выдрать JavaFX и зазиповать. Размер zip-файла правда большой мегабайт 100 получается (видимо, много лишнего), но это никак не влияет...Для наших клиентов могут быть существенны не технические, а "бумажные" факторы: присутствие в реестре российского ПО, всякие сертификации (там что-то про официальную совместимость с Аста линукс и с "православными" криптосистемами).
> убунтуВозможно, будет здесь https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa
13 есть даже для 12.04.
Еще здесь от Oracle https://www.oracle.com/java/technologies/javase-jdk14-downlo... но только x64.
Для 19.04 и новее есть в репозитории.
либо Oracle LTS: https://launchpad.net/~linuxuprising/+archive/ubuntu/java
дебиан и убунту кому-нибудь на production server интересны?...
совершенно неинтересны - работают себе.А вот обмазаться распоследней только-что-из-под-хвоста "мамой клянусь - обратная совместимость!" версией прямо на production server - это интересно, но лучше чтоб не у меня.
Не нужно! Есть Rust, в нём исключения в принципе не возникают, null вы не разадресуете.
особенно в яве наразадресуешь полные штаны
> особенно в яве наразадресуешь полные штаныну вобщет разадресуешь, NullPointerException как раз улучшили
но рандомный код после этого не повыполняешь
Не нужно! Есть HQ9+, в нём исключения в принципе не возникают, null вы не разадресуете.
Интересно почему ключевое слово называется record.
https://en.wikipedia.org/wiki/Record_(computer_science)
Что бы не struct
В честь советского телевизора Рекорд.
чтобы не data class (kotlin)
Потому что «запись» (в таблице). В Паскале это ключевое слово тоже было, например.
> Интересно почему ключевое слово называется record.В Схеме тоже record.
На Соляру положили болт, эх...
Java упорно пытается догнать C# по удобству.
И котлин в т.ч
2 сапога пара, только котлин на какое место?
Пока догонит, народ на Kotlin пересядет. Уже процесс начался. Среди знакомых Java-разрабочтиков все потихоньку переползают на Kotlin. Для Android новые фичи сперва на Kotlin выходят, потом на Java
Никуда народ с Java не пересядет.
Посмотри на динамику, Java за год набрала еще %2 популярности https://www.tiobe.com/tiobe-index/
У Kotlin никогда не будет %2 (все это уже пройдено с aspectj, groovy, scala - все пару лет кричали - это наше новое всё.... и всё).Языком пользуются не из за огромного количество бездумно добавленных "новых возможностей", именно по этому java развивается очень консервативно, добавляя только то, что действительно нужно.
Большинство даже на 11 не пересели, просто по тому, что нет драматически нужных изменений.
И это при том, что на java сделать update с java 8 на java 11 - элементарно (это вам не с python 2 на python 3 перейти, java - это лучший язык с обратной совместимостью, именно по этому его используют там, где нужно сделать что-то что бы работало и развивалось годами)А уж если говорить про Kotlin конкретно, то там столько недостатков, что смысла пробовать нет совсем
если хочется подискутировать - вот список того, что крайне не нравится мне и коллегам:
https://docs.google.com/spreadsheets/d/1pG04eMdC_2u3t7Tab9J8...Если этого мало, сделать перечислено еще больше проблем, с которыми столкнулись разработчики
https://allegro.tech/2018/05/From-Java-to-Kotlin-and-Back-Ag...
Вы все верно пишите.
Котлин не пригоден для серьезных проектов. Зачем закладывать грабли в проект?
Нужность его под сомнением была еще с момента его появления, а сегодня и подавно нет смысла его использовать. Кому нужны фичи пересядут на более свежую жаву.
Все строго наоборот, жава уже набрала новых фич которые ожидались и нужность котлина отпала.
Тем более есть тот же lombok, который убирает рутину.
есть сомнения, что java в ближайшее время будет потеснена C#, потому что netcore freeopensource и netcore работает под linux
Этому вашему сырому неткору@Linux до уровня энтерпрайза как лебедю, щуке и раку пешком до луны. Если дотнет еще более-менее взрослая и серьезная платформа, то "неткор" - просто рекламная демка с расчетом на то, что пользователи захотят перестать быть 3rd class citizen-ами и перейдут на дотнет@Вантуз. А что касается сишарпа, то пик увлечения им пришелся на 2012 год, с тех пор он идет только на спад.
а разве NetCore 3.1 не LTS?>> Если дотнет еще более-менее взрослая и серьезная платформа, то "неткор" - просто рекламная демка
вроде из net framework в netcore переносятся api, а в ноябре 2020 планируется .net 5, который
будет основан на netcore, mono, net framework.
Причём этот net 5 обещали таким же freeopensource, как netcore, и этот net 5 будет заменой netcore, mono, net framework.>> А что касается сишарпа, то пик увлечения им пришелся на 2012 год, с тех пор он идет только на спад.
это как раз именно то, что с java происходит из-за нескольких причин: из-за политики Oracle(в том числе лицензионной), и из-за того, что есть kotlin, scala
> в ноябре 2020 планируется .net 5Интересно, будет ли поддержка Win7. Наверное, нет.
в смысле "удастся ли что-то так занятно поломать, чтобы оно в win7 не работало"?
А то "поддержка"-то и так кончилась, но ведь надо ж еще добиться чтобы чем-то отличалось, кроме внешнего оформления интерфейса...
> поломатьУж это они могут. 4.X версии с плясками ставятся на необновленную систему без интернета, а в последнее время и интернет не помогает.
>> А что касается сишарпа, то пик увлечения им пришелся на 2012 год,
>> с тех пор он идет только на спад.
> это как раз именно то, что с java происходит из-за нескольких причинтолько если это про жабу, то год был где-то 2002й. С тех пор - "только на спад".
Потому что есть C# и .netЕдинственным сомнительным конкурентным преимуществом до недавнего времени было именно отсутствие .net на шва...6ешпла...халявных, короче, платформах, чтоб за лицензию клятому мелкософту не плотить! Но тут орацл делает ход конем, и выясняется, что кто не желал компании зла дань платить - будет платить втрое.
Так было раньше, когда оракл не забил на обратную совместимость. У нас софт до сих пор приходится гонять под 8 версией, так как все выше не работают.
При этом восьмую теперь хрен просто так поставишь без бубнов.
> Так было раньше, когда оракл не забил на обратную совместимость.не было. Точно такой же "socket error" бывал при попытке вместо пятой версии взять шестую - в распрекрасные древние дни владычества sun.
> При этом восьмую теперь хрен просто так поставишь без бубнов.
не понял, а я что вчера поставил такое?
> есть сомнения, что java в ближайшее время будет потеснена C#т.е. Вы сомневаетесь в том, что ява будет потеснена? Или имелось ввиду что "Есть сомнения, что ява устоит под натиском сишарпа в ближайшее время?"
С шарп нужен только виндузятникам. Остальным он по боку - а если учитывать что количество серверов под управлением Выньды медленно, но уверенно идет вниз - Сшарп закончится асболютно индентично.
Для того, чтобы C# скончался, достаточно банкротства Микрософта. А произойти это может очень быстро. Начало этого года очень хорошо иллюстрирует хрупкость нашего мира. Не надо думать, что Микрософт - устойчивая компания. У них нет каких-то ключевых продуктов, которые не могут быть заменены за пару месяцев.
Альтернативы винде нет исключительно потому, что как только выйдешь за пределы своего дивана - сразу столкнешься с тем, что прикладного софта нет. И переписывать его никто не собирается.
> прикладного софта нет. И переписывать его никто не собирается.В игрушки играть что ли? Бизнес-приложения уже лет 15 как строят на веб-основе. И ничего, кроме современного браузера им не нужно. А серверы - уже лет 10, как тотально линуксы.
А современного браузера (нормального, подчеркиваю, еще раз) тоже нет. Одна ненастраиваемая куча мэйнстрима. Или старьё, которое и половину вэба открыть не может.
Вот с чем уж точно проблем нет, так это с браузером. Если не использовать виндовс или IE, то никаких проблем вообще нет.
Да проблема только одна. Чем дальше, тем они все хуже и хуже.
Тяжелее, жирнее, прожорливее, меньше настроек остается для пользователя.
> Альтернативы винде нет исключительно потому, что как только выйдешь за пределы своего
> дивана - сразу столкнешься с тем, что прикладного софта нет. И
> переписывать его никто не собирается.не знаю чего там у вас за мир, а весь мой прикладной и профессиональный софт есть на лине
Ключевые продукты:
XBox
MS Office
Azure
> XBoxигровых автоматов и без микрософта достаточно
> MS Office
А он кому, вообще, нужен в локальном варианте?
> Azure
AWS, Google, локальные провайдеры с демпинговыми ценами. Нее?
И где, в итоге, место микрософту?
Выходите из анабиоза, .net Давно в докере есть под линуксом
И кому это интересно и главное зачем?Берешь жаву которая работает везде и инструменты для разработки, которые тоже работают везде.
Берешь документацию, фреймворки и примеры, которых в избытке.
Далее находишь себе высокооплачиваемую работу с возможностью работать за границей, если так уж хочется.
Хочешь пиши гуй, веб, андройд, ембеддед, биг дэйта и черта в ступе.И не морочишь себе голову унылыми костылями, адепты которых за$рали все комменты.
Что вы тут делаете?
Разделяйте уже JVM как платформу и Java как язык. Там и языков много и реализаций есть как минимум три. Причём в отличие от дотнета есть единый стандарт, которому все три реализации следуют. Чисто языковыми фичами яву не продавишь.Дотнет по уровню развития платформы где-то между питоном и явой находится.
Разве это не была рекламная компания Sun называть словом java язык программирования, виртуальную машину, и т.д. ?
Знакомьтесь: .NET Standard
https://docs.microsoft.com/ru-ru/dotnet/standard/net-standard
Вы ознакомились? Этого достаточно.
Говно не обязательно пробовать на вкус, если уже по запаху понятно, что это говно.
У платформы Java больше наработок, это факт. Зато у .NET более продуманная и чистая архитектура (не идеальная, но всё же с учётом ряда ошибок и наследственных проблем Java): честные generic-типы, быстрый Reflection и т.д.Как язык C# однозначно обходит Java по удобству (имею приличный опыт с обоими), это тоже фактор.
Это фактор писать хелловорлды на глючной винде, предварительно за нее как следует заплатив.
Серьезные проекты где много кода не крутят на винде, если с головой все в порядке.Большинство сидит на 8-ке и никого в реальности не парят ни вами надуманные проблемы,
ни наследственные проблемы жавы.
Кому нужны фичи, берут новые релизы.Причем тут огороженные шарпей вообще не понятно.
Да перспективы жава разработчика в разы шире, того, кто выбрал шарпей.
Вот это реальный фактор.
Kotlin же использует JVM
Clojure использует JVMОтличные языки, кстати
На чем это основано? Давайте посмотрим на статистику20 лет самый популярный язык программирования https://www.tiobe.com/tiobe-index/
вся bigdata (hadoop, spark,flink, hbase,cassandra,dynamodb) - java
весь enterprise - java
вся мобильная разработка под android - java
большинство популярных IDE(IDEA,Eclipse,NetBeans) -java
доставка платного видео (netflix, youtube) - java
messaging (kafka, aws sqs) - java
сервера сборок (jenkins, hudson, teamcity) - java
bug issue tracking (jira/youtrack) - java
сервера артифактов (nexus, artifactory) - javaИ где тут С#?
Тут даже python - то место не нашлось, а он популярнее с# раза в два.
Это основано на фантазиях студентов, которых принудительно заставили учить шарпея.В ходе принуждения некоторым, похоже, это стало нравится и даже на столько, что они лезут в новость другого языка поделиться своими фантазиями.
Жава догоняет шарпея!!! Воу!!
Ну если только она его уже раз 20 уже опередила по кругу.
Выдают унылый скрпированный с жавы костыль за нечто серьезное.
Новый switch лисповенький.
> Новый switch лисповенький.это лямбды лисповенькие, а свичу рикошетом досталось
>> Новый switch лисповенький.
> это лямды лисповенькие, а свичу рикошетом досталосьНу, свич -- та же лямбда.
>>> Новый switch лисповенький.
>> это лямды лисповенькие, а свичу рикошетом досталось
> Ну, свич -- та же лямбда.Не соглашусь. Лямбда захватывает контекст, в switch-выражениях такого, насколько помню, не происходит, они ближе к локальным функциям.
А есть трансляторы кода из Явы в Яваскрипт?
Да, 120 к. в час.
Вы хотели сказать в месяц?
> Вы хотели сказать в месяц?Он хотел сказать «копеек».
Такие трансляторы/компиляторы из языка в язык кажись правильно называть транспайлером (транспилятором). Раньше у гугла был GWT, да сдох. Ему на смену пилят J2CLhttps://habr.com/ru/company/haulmont/blog/430378/
Но мое мнение - пора уже все затачивать на трансляцию сразу в WebAssembly
Транслятор - с языка на язык, компилятор - с языка на что то более низкоуровневое.
pile - куча, груда, стопка, ворох, штабель, кипа, пачка. Если вы относитесь к своему коду как к куче непонятно чего, то транспилите пожалуйста на здоровье.С WebAssembly - да.
Вы неуч
https://ru.wikipedia.org/wiki/%D0%A2%D1%...
Был GWT, активно использовался в 2007-2013 годах, кажись на нем был написал google wave и evernote. Это не только транслятор, там был какой-то рантайм который бандлился в генерируемый js, RPC для коммуникации между сервером и клиентом.Что-то похожее на GWT можно сейчас получить если взять TypeScript + Webpack + библиотека для коммуникаций.
В каком-то смысле gwt, но уж больно заброшенный.
В каком-то смысле gwt, но уж больно заброшенный проект
Были попытки на WASM
я в андройд приложениях до сих пор использую jdk 1.8.0_151
В андроиде есть котлин, поэтому не критично
не юзаю котлин
> андройдхотя бы словарь заюзай
не выпендривайся!
А вот в Котлине всё это уже давно есть.
Да кому это нужно в Kotlin-е и в целом и для Java уже не актуально.
Котлин это лучший язык программирования, который существует на данный момент
Бреслав, перелогиньтесь!
В котлине всё нормально кроме конструкторов, которые расползлись по всему определению классов. Первычный конструктор, вторичный конструктор, унаследованный конструктор, init {}.
Половина приватных полей в конструкторе, половина в теле класса.Эта штука на любителя. Не скажу, что прямо плохая, но я до сих пор привыкнуть не могу.
Если это доставляет неудобства, значит у вас там этого много, а значит у вас должны уже ввести конвенции по коду, это такая дока которая определяет единый стиль. Затем нужно посмотреть какие возможности дают доступные статические анализаторы, для kotlin это прежде всего встроенный анализатор в IDEA, есть есть возможность определить на не желаемый вариант ворнинг то сделать, экспортировать настройки статической проверки и расшарить в команде, для чего обычно держат инфраструктурный проект (со всеми конфигами).Так делают во всех сколько нибудь больших проектах на устоявшихся языках, а вот то что делают языки в которых можно сделать что-то только одним способом мне не нравится, вроде именно с такими мыслями создавали GO.
Ну да, куда там F#.
Котлин это плохой фанфик на не очень хороший оригинал.
https://docs.google.com/spreadsheets/d/1pG04eMdC_2u3t7Tab9J8...
> Расширена экспериментальная поддержка текстовых блоков - новой формы строковых литералов, позволяющих включать в исходный код многострочные текстовые данные без применения в них экранирования символов и сохраняя исходное форматирования текста в блоке. Обрамление блока осуществляется тремя двойными кавычками. В Java 14 в текстовых блоках реализована поддержка escape-последовательности "\s" для определения одного пробела и "\" для объединения со следующей строкой (игнорирования перевода строки, когда нужно вывести очень длинную строку).А такого не было? Ну охренеть...
Не было. Это новый оператор """
Да все эти строки раньше выглядели очень энтерпрайзненько. Да и теперь продолжат так выглядеть ктож на эту джаву в ближайшее время перейдет.
На ближайшие лет 10, альтернативы Java нет. Котлин - это хорошо, но без внешней поддержки (например Оракл обложит всех патентными ограничениями), массовым он не станет. Так и останется языком для Андроид-приложений.
Уже давно понятно, что котлин существует только благодаря гугловой лени развивать андроид. Это единственное что его держит при жизни. За доказательсвами может поискать работу на котлине.
webstart есть? Нет? Уносите.
https://start.spring.io/
Последняя версия для Windows - 8-ка от Red Hat.
И не будет. Что апплеты на джаве, что вебстарт, что переписать нетскейп на джаву все не полетело. Ну не приспособлен язык к этому и все тут. "Я же говорил место такое, а ты все руки из ...".
""" это очень нужная фича. Которая нужна была как минимум 15 лет назад. Хотя сейчас тоже нужна.
> """ это очень нужная фича. Которая нужна была как минимум 15 лет
> назад. Хотя сейчас тоже нужна.а как туда вставить строку начинающуюся с таба или с пробела?
Я так понимаю прямо в редакторе кода. Строки в Java хранятся в UTF-16.
Ну так взять и поставить пробел в начале. Форматирование начинается от начала строки в редакторе.Причем точно такое же поведение у """ в питоне и в 2 и в 3 даже внутри функций где текст внутри функции отделен 4-мя пробелами от начала строки. Такую конструкцию даже там надо писать от начала строки в редакторе и все корректно отобразится.
> Ну так взять и поставить пробел в начале. Форматирование начинается от начала
> строки в редакторе.
> Причем точно такое же поведение у """ в питоне и в 2
> и в 3 даже внутри функций где текст внутри функции отделен
> 4-мя пробелами от начала строки. Такую конструкцию даже там надо писать
> от начала строки в редакторе и все корректно отобразится.судя по виденым примерам кода - форматирование от начала строки до, возможно, начала букв String html = - игнорируется (в виденрых мной примерах строчки - с отступом)
уже предвкушаю что же будет если у одного разраба отступы в пробелах, а у второго в табах
International use restrictionsDue to limited intellectual property protection and enforcement in certain countries, the source code may only be distributed to an authorized list of countries. You will not be able to access the source code if you are downloading from a country that is not on this list. We are continuously reviewing this list for addition of other countries.
Так что, исходники доступны или не очень?
получается, что java - это не freeopen-source, а только притворялась freeopen-source?
Из Крыма доступны, тута смотрел http://hg.openjdk.java.net/jdk/jdk14/file/6c954123ee8dА вот исходники Chromium, Go или Android без vpn не стянуть. Свобода она такая.
Скачать исходники: hg clone https://hg.openjdk.java.net/jdk/jdk14/Лицензия на исходники: https://hg.openjdk.java.net/jdk/jdk14/file/6c954123ee8d/LICENSE
Сюда бы ссылочку на статью Graal VM, Shenandoah, ZGC и всё-все
>Данное объявление приведёт к автоматическому добавлению реализаций методов equals(), hashCode() и toString() в дополнение к конструктору и методам, контролирующим изменение данных (getter).Но ведь геттер не изменяет данные?
каааакой вы скучный
>>Данное объявление приведёт к автоматическому добавлению реализаций методов equals(), hashCode() и toString() в дополнение к конструктору и методам, контролирующим изменение данных (getter).
> Но ведь геттер не изменяет данные?Вы где-то в Java нашли модификатор функции (не переменной) а-ля const в C?
А где там интересн на JRE ссылк?
а есть ли некое подобие java ee beans но только для новой джавы и так же хорошо? мож кто хорошо знает 11+ и имеет огромный опыт разработки напишет такое? я б честно купил такую книгу.