После шести месяцев разработки компания Oracle выпустила платформу Java SE 15 (Java Platform, Standard Edition 15), в качестве эталонной реализации которой используется открытый проект OpenJDK. В Java SE 15 сохранена обратная совместимость с прошлыми выпусками платформы Java, все ранее написанные Java-проекты без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 15 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64), Windows и macOS. Разработанная в рамках проекта OpenJDK эталонная реализация Java 15 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами...Подробнее: https://www.opennet.me/opennews/art.shtml?num=53717
Ну это же не правда... мой обожаемый DSpace не работает ни на чем выше JAVA8...
и web start тоже
Я тоже планирую начать изучать Джаву.
А что производительнее Java или .NET? Подбираю для изучения *курлык*
Rust
.NET быстрее -- https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
есть альтернатива - openstart.
> Ну это же не правда... мой обожаемый DSpace не работает ни на
> чем выше JAVA8...С какой версии Джавы мне стоит начать ее изучать?
С 8-й, в общем-то.
> С 8-й, в общем-то.Спасибо за ответ. А почему не с 11-ой? Она же LTS тоже, но свежее немного.
Все просто. Основная масса хорошей учебной литературы, которую можно забрать с того же рутрекера - по 8-й :-) 11-я добавляет фичи, но 8 - годная основа.
> Все просто. Основная масса хорошей учебной литературы, которую можно забрать с того
> же рутрекера - по 8-й :-) 11-я добавляет фичи, но 8
> - годная основа.Спасибо, брат!
>> Ну это же не правда... мой обожаемый DSpace не работает ни на
>> чем выше JAVA8...
> С какой версии Джавы мне стоит начать ее изучать?С девятой, но можно с версией особо не заморачиваться, а изучать язык и среду на последней версии Oracle JDK 15. Постепенно постигая всё более продвинутые понятия и фичи. За двадцать пять лет развития платформы Java базовые вещи языка практически не изменились, но появилось много "сахара", облегчающего написание и восприятие кода.
Лучшая среда программирования на Java — Apache Netbeans IDE 12.
Книга для начинающих: "Head First Java, Изучаем Java", Кэти Сьерра, Берт Бэйтс.
>[оверквотинг удален]
>>> чем выше JAVA8...
>> С какой версии Джавы мне стоит начать ее изучать?
> С девятой, но можно с версией особо не заморачиваться, а изучать язык
> и среду на последней версии Oracle JDK 15. Постепенно постигая всё
> более продвинутые понятия и фичи. За двадцать пять лет развития платформы
> Java базовые вещи языка практически не изменились, но появилось много "сахара",
> облегчающего написание и восприятие кода.
> Лучшая среда программирования на Java — Apache Netbeans IDE 12.
> Книга для начинающих: "Head First Java, Изучаем Java", Кэти Сьерра, Берт
> Бэйтс.Спасибо, братец! Очень полезный коммент!
Там кстати на той неделе вышел openj9-0.21.0, заодно и 8 поддерживает. Реально ускорили и повысили эффективность, я в восторге. А Оракл пусть дальше работает над GraalVM мож чёт полезное и вылезет.
Такое впечатление, что разные языки делятся друг с другом своими изобретениями. sealed - с#? многострочные строки - python? Согласны?
Это все уже давно и в Шарпе есть, и в Котлине. Лучше бы присоединились к развитию Котлина, ибо они сейчас его и пытаются мимикрировать зачем-то - абсолютно те же фичи.
Ну и хорошо, котлен с его
fun a(b: Int) : Int {}
вместо
int a(int b) {}
ненужен, как и прочие смузихлёбные язычки с подобным синтаксисом.
Такая запись в котлине следствие type inference, как и в других языках типа скалы. Такая запись удобней.
Больше букв писать неудобно, к тому же примитивов нет, к ctrl тянуться неудобно. А автовывод и в плюсах есть и в джаве, да только его использование не особо поощряется. Удобно, когда можешь кликнуть на тип и перейти к нему, или хотя бы видеть глазами, что за тип тебе функция вернула.
Вообще-то при построении логической модели вначале идёт переменная, а только потом тип. Хотя да, попытки думать, мешают говнокодить. И да, синтаксический сахар на фоне "поставить 3 явы, чтобы все работало..." выглядит как кощунство и стеб над вложившимися в разработку на Java
> Вообще-то при построении логической модели вначале идёт переменная, а только потом тип.Какая-то демагогия, у вас что, где-то в методичках так написано? Вначале вообще-то идёт проблема, потом формулировка задачи по её решению, потом тех стек / фрймворк / архитектура, потом алгоритм, и потом только переменные с их именами. И имя произвольно, первична задача, напрмер, обработать Bitmap например или стринги распарсить. Используемые типы диктуются задачей, имена же вторичны, и функция-однострочник, например, может вообще не вводить никаких новых имён. Ментальная модель "тип не важен" - это что-то из области скриптования, а не настоящего программирования.
Есть определенные причины почему новые языки отказываются от С style объявления типов переменных/etc. К примеру, golang в свое время тоже этим вопросом заморочился: http://blog.golang.org/declaration-syntax. Как я понимаю, те же причины и у Kotlin, etc.
> Используемые типы диктуются задачей, имена же вторичны,Да бросьте вы метать бисер -- смузихлебам никогда не понять всю красоту, лаконичность и превосходство синтаксиса
volatile const static signed long int* const restrict borsch = {(const volatile void*)0};
Плюсую. Программы пишутся не только для процессоров, но и для людей. Фортрано-Паскале-подобный синтаксис объявления процедур, переменных намного более читабелен, чем Сишный. А для процессора лучше писать в двоичных кодах сразу.
Имя переменной гораздо важнее, чем ее тип. Поэтому имя прописывается первым. Также по причине type inference, когда тип не указывается вовсе. Учи матчасть, а то таки будешь всю жизнь на VBA макросы писать.
> Имя переменной гораздо важнее, чем ее тип. Поэтому имя прописывается первым. Также
> по причине type inference, когда тип не указывается вовсе. Учи матчасть,
> а то таки будешь всю жизнь на VBA макросы писать.Забавно, что вы пишите type inference, а не по-русски "вывод типа". Сразу видно, что цитата из пропагандической методички, а не собственные мысли. И как уже выше было написано, вывод типа есть и в C++ и в Java с классическим сишным синтаксисом.
По мне так скорее поломанный синтаксис скорее для того, чтобы было некомфортно писать одновременно и на java и на kotlin, и кодеры выбирали что-то одно - а легко внушаемые всегда выбирают то что на слуху. Kotlin это же продукт коммерческой компании, которая в его продвижение, как они сами заявляли, кучу денег вложили, и отбивать они их будут за счёт привязки прогеров к своей IDE.
В отличии от вас, я свободно владею английским и привык читать технические первоисточники именно на нем, а не кривые великоскрепные переводы.
Какая кому разница, что вы прочитали - если вы не поняли, что это значит и не можете сформулировать мысль без переключения на цитату из методички.
Переведите мне type inference, если вас не затруднит.
Такая запись идеологически правильнее. Сначала мы _однозначно_ определяем декларируемую конструкцию языка ключевым словом (func, struct, class, enum, var, const...), а затем пишем саму конструкцию. Это удобно для компиляторов и для многочисленных инструментов разработки.
Я кстати долго не мог это признать на уровне эмоций)
Да, наверное всякие двоеточия и стрелочки между списком аргументов и возвращаемым значением в общем лишние, и function можно сократить до fn как в Rust. Но в целом этот способ удобнее.
> Такая запись идеологически правильнее.Иделогически правильнее писать "во славу коммунистической партии Китайской народной республики и товарища Си Цзиньпиня лично положим x равным 5".
> Сначала мы _однозначно_ определяем декларируемую конструкцию языка ключевым словом
Ну да, var x = some() в котлин может быть созданием нового объекта, а может быть функцией. Ни разу не однозначно.
> Это удобно для компиляторов и для многочисленных инструментов разработки.
В 2020г пора бы уже и об удобстве программистов подумать. В котлине нет тернарного оператора, нет примитивов, & местами надо как and писать, а местами как & можно, нет автоматического приведения типа, в связи с чем если я хочу int записать hex кодом (цвет например обозначить), надо писать что-то типа 0xFF808080.toInt(), громоздкое объявление переменных и функций, проблема с тем, что типа бывает не видно (а если ide его и покажет, то он не кликабелен), и наконец - заинтересованность поставщика в полноценной поддержке только в 1 ide.
Так что java будет дальше жить и развиваться, со временем все полезные штуки в себя перетащит. Kotlin же пока держится за счёт пропихивания корпорациями и урезанной джавы в андроиде, иногда на бэке встречается, и всё. Обещанный kotlin multiplatform на практике слабо пригоден к использованию, если гугл вдруг решит сделать упор на dart или go например, kotlin повисит какое-то время в списке легаси языков да помрёт.
Я не пропогандирую котлин, а рассуждаю о синтаксисе языковых конструкций вообще.
> Такая запись идеологически правильнее. Сначала мы _однозначно_ определяем декларируемую
> конструкцию языка ключевым словом (func, struct, class, enum, var, const...), а
> затем пишем саму конструкцию. Я кстати долго не мог это признать на уровне эмоций)Тут надо острожнее, а то отсюда недалеко и до появления такой записи
generic function Min<T>(const A, B: T): T;
begin
if A < B then Result := A else Result := B;
end;> Да, наверное всякие двоеточия и стрелочки между списком аргументов и возвращаемым значением
> в общем лишние, и function можно сократить до fn как в Rust.Ну да, а enum до en, const до cn, var до vr. Ну а можно снова вообще не писать, как не помню где.
Правда function еще можно, для дальнейшего удобства, обозвать и def, как еще где то.
Не обязательно сокращать все подряд (хотя, внезапно, enum, struct, const, var - уже сокращения). Писать все эти function, begin и end, двоеточия между переменной и типом - утомительно. fn для функций - достаточно, т.к. функции это наиболее часто встречающиеся конструкции. К тому же fn можно было бы использовать и для лямбда-функций, был бы единый синтаксис для всех функций вообще.
Объявления переменных вполне можно начинать с типа, как в Си - при условии, что это будет _единственная_ конструкция вида "идентификатор1 идентификатор2" (т.е. два подряд идентификатора, а не ключевых слова, без каких-либо операторов и пунктуаторов между ними). В С++ был конфликт вызова конструктора и прототипа функции:
Foo obj(); // это не создание объекта obj типа Foo, а объявление прототипа функции obj, возвращающей тип Foo и не имеющей аргументов.
Также были сложности с выводом типа возвращаемого значения по типам аргументов в шаблонах. Из-за всего этого пришлось потом вводить typename и альтернативный синтаксис прототипов:
auto foo()->return_type.
Если бы функции начинались с fn, такой фигни бы изначально не было.
Посмотрел учебник про Kotlin, увидел, что там function называют FUN... дальше читать не стал, не серьёзный какой-то язык.
Книга замечательная. Первую страницу открываешь, написано «Введение». Уже смешно.
> вместо
> int a(int b) {}
> ненужен, как и прочие смузихлёбные язычки с подобным синтаксисом.
e̵r̵r̵_̵s̵i̵g̵ ̵ ̵ ̵d̵b̵ ̵"̵E̵r̵r̵o̵r̵:̵ ̵H̵D̵D̵ ̵n̵o̵t̵ ̵b̵o̵o̵t̵a̵b̵l̵e̵ ̵(̵m̵i̵s̵s̵i̵n̵g̵ ̵5̵^̵5̵^̵A̵^̵A̵^̵ ̵s̵i̵g̵n̵a̵t̵u̵r̵e̵)̵!̵"̵,̵0̵
err_sig db "Smoothie!",0
sig dw 0xAA55
От оно че, Михалыч! © o_O
Котлин плохой язык потому что для определения метода в некоторых случаях нужно написать на 3 символа больше, да?
>смузихлёбныеСтрашно подумать вы сами тогда кто и что это за программы такие в которых это имеет значение?
Описать маленький метод можно с помощью single-expression functions если уж несколько символов жалко
fun a(b: Int) = реализация
и.о. к.о.
+1 за Котлин. Чем пытаться прикрутить к старой телеге глушитель, проще сразу взять авто. :)
>многострочные строкиphp
perl
Вообще-то шелл.
> sealed - с#?Нет, аналог шарпового `sealed` — это `final`, т.е. запрет на наследование от этого класса. А `sealed` в Java позволяет классу ограничить список своих потомков. Там ведь даже пример есть, где от класса `Shape` можно унаследовать только `Circle`, `Rectangle` и `Square`, а какой-нибудь `Ellipse` уже не получится.
Все равно дофига чего сперли и instanceof и MemorySegment и тп.А как Java может знать список всех возможных потомков находящихся к примеру в другой сборке?
Получается это этакий шарповский private protected только требующий перечислить каждый класс руками.
В статье как-то не совсем понятно написано...
Sealed class — это алгебраический тип данных, не больше и не меньше. Да поможет вам википедия.
Скорее это передрато из Eiffel, там указывается класс/список доверительных классов типа feature {DECIMAL, DCM_MA_DECIMAL_PARSER, DCM_MA_DECIMAL_HANDLER} -- Access
> Oracle выпустилаЦену на одно рабочее место в месяц озвучьте.
Написано же, что эталонная реализация OpenJDK. Бесплатно это. Вот поддержка прежних, признанных устаревшими, версия уже платная.
Oracle удалил из своей Java поддержку собственной ОС Solaris и своих процессоров SPARC?
Как это?
Точно так же, как удалили нокию вместе с жабой-ме.
Соляра и Спарк рипнулись и не нужны даже их владельцу
Oracle давно забила на этот «балласт», оставшийся от Sun Microsystems.
Лучше бы было, если это Sun купила Oracle, а потом сбросила его как балласт
только это Sun обанкротилась, потому что не могли выпустить на рынок больше ничего конкурентного. И не забывай еще один факт: Оракл был создан ЦРУ и для их нужд, такие компании не банкротятся, их всегда государство поддержит.
Очередные "факты" из больного ганглия ватанов
я всё понимаю, но истина дороже (1971-1977, mss..)
https://pasteboard.co/Jrk48x2.jpg
Сейчас дырень откроется, всем в укрытие !
Это по-твоему доказательство того что Оракл был создан ЦРУ?
нет, лэрри работал над задачей цру в ампексе и позже заключал 1-й контракт, национальная безопасность до сегодняшних дней проходит через сердце оракл, сам оракл это реляционный RDBMS с 1978 на PL/SQL диалекте (12 правил кодда, реляционная модель данных для распределённой бигдата и т.д.), цру это обычный рядовой клиент, а бывшие работники цру это обычные служащие оракл.
каждому бывшему работнику цру надо клеймить лоб, шоб все знали.
у всех процессов есть неформальный фон, эти связи тоньше комментариев. большинство местных спорит со своими же иллюзиями, под блеф провокаторов.
> каждому бывшему работнику цру надо клеймить лоб, шоб все знали.это как Касперский... Это не простая кантора. И отрицать это - очень странно.
Так вроде же из-за серверов и был весь сыр-бор?
Они вроде как до 2030-го года солярис будут поддерживать. Но оракловцы уже в 1998-м году объявили о поддержке линукса. Купив Sun они сделали свой линукс на основе красношляпых и добавили туда Dtrace и свое ядро. Видимо чтобы установить куда-нибудь в виртуалку оракловую базу данных нужно было ядро редхата, а в работе уже оракловое ядро. Собственно их линукс вроде как не ьребует обязательной покупки поддержки. А спарки не их процессоры а санковские. Когда они купили санки, то увидели горячий процесмор Rock и закрыли его разработку. Учитывая то, чьо они купили санки за 5% их былой стоимости им хватит держать у себя лишь лучшее. И жаба вроде как создана чтобы быть в единственном виде, но гуглы решили сделать неподконтрольный аналог, что вроде как делать было нельзя, так что они судятся за право владения технологией. Если они не смогут получать прибыль с процессоростроения они все продадут. Там речь все-таки о миллиардах. Но вряд ли у них дела лучшечем у штеуда и они могут производить по технологии 14нм или меньше.
Делать явы можно, и делать из вопреки спецификации тоже можно, но нельзя называть это Java.
Вообще-то нет
Скажите это вот этим ребятам:
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
гугл использует openjdk начиная с android 6
Суть спора с Гуглом в другом. Гугель понаписал своего сверху, АПИ оставил, код закрыл. Т.е. использует привычный АПИ, но фактически продаёт под его видом свой продукт. Вот Оракл и пытается через суд доказать право собственности на АПИ и на этом основании добиться выплат за использование своей собственности.
Аж два новых GC
ява не тормозит, помним о Томми.
А почему в Mageia до сих пор 8?
https://madb.mageia.org/package/list/t_search/jdk/release/ca...
https://packages.debian.org/search?keywords=default-jdk&sear...
Это правда LTS и будет поддерживаться до 2030 года.
11 тоже LTS, но поддержка до 2026.
https://en.wikipedia.org/wiki/Java_version_history
Наверное поэтому.
Копроратив.В Debian 9 (Stretch, 2017) уже забили на обновление (58 билд)
https://www.archlinux.org/packages/?q=jdk8-openjdk
В Mageia 6 (2017) тоже забили, но хотя бы на версии 222
https://madb.mageia.org/package/show/application/0/release/6...
А может быть минорные цифры в дистрах отличаются и Debian с Ubuntu используют свои.
Просто видимо все ставят не из пакетов.
До 30го года - Extended Support за отдельные и очень большие деньги же.
> В Debian 9 (Stretch, 2017) уже забили на обновление (58 билд)вы не тот пакет смотрите, в stretch джава 8u265: https://packages.debian.org/stretch/openjdk-8-jdk
недавно net 5 rc1 вышел:
https://devblogs.microsoft.com/dotnet/announcing-net-5-0-rc-1/
Да кому он нужен за пределами микрософт?
отличная платформа, если религиозные предрассудки откинуть
Отличный рекламный слоган.
Нет ни одной технической причины разрабатывать на шарпее, за исключением какого-нибудь вынь-онли специфического кейса, ну или геймдева.
Это уже перетерто восемьсот раз.
Сегодня разрабы переползают на мак и линукс, ну кроме идейных ценителей "отличной платформы".
ненене, от таких макакоразрабов лучше держаться подальше. клепайте свое говнецо на ноде дальше.
п.с. дотнет и под этими вашими линуксами работает. 5 версия как раз про это во многом.
Мак кроме ноды больше ничего не умеет? Я за него не топлю и не пользую, но у него там хоть человеческая консоль и утилиты. Бздя как ни как.
Говнет на линуксе это хохма, там без него языков под все типы задач.
Разработка на нем под линукс на серьезных щах выглядит крайне интригующе.
Только какой смысл, если вынь активно выпиливается из серверного сектора.
Какой смысл сидеть на бесперспективной технологии и заниматься костылированием.
wsl и впиливается активно, чтобы разработчики окончательно не разбежались.
Ты для начала напиши сам что-нибудь под линукс, а потом пи.ди в комментах
Воу, какая экспрессия, каков напор.
Поделись, пожалуйста, своей сакцесс стори, как ты страдал разрабатывая под линукс, а потом от безвыходности скачал шарпея и все проблемы решились.
Мнение профессионала интересно услышать.
Но дотнэт, в общем-то, довольно удобен. Другое дело, что (пока?) глючный очень.
Ахаха. На dotnet не макаки пишут, а на node макаки? Что-то я не вижу между ними особой разницы, как и разницы с java. Во всех трех используется фактически вирт. машина для преобразования байт кода и частичной компиляции в исполняемый (JIT). Только для js вирт. машина называется node.js.
дотнэт всё же куда более строгий язык и выразительно более мощный. JS же крайне рыхлый. Это как сравнивать железобетон и пенопласт в качестве конструкционного материала.
Ничего в ней отличного. Дырявая и глукавая. Ошибки годами не исправляют. И новые плодят. К тому же лицензия крайне мутная. Для "попробовать" интересна. Но не более.
ну как тебе сказать кому: всему Enterprise-у, тысячам компаниям и десятках тысяч программистов по всему миру :)
Тем кому нужен дотнет - быдло и нелюди. Так решил этот красн0глазый пидиарас.Настоящие люди, это только пользователи линукса.
А им дотнет не нужен.
"всему Enterprise" на .net хотя бы процентов 10 от Java-Enterprise по миру наберётся?
> "всему Enterprise" на .net хотя бы процентов 10 от Java-Enterprise по миру
> наберётся?чаще всего компании, использующие Джаву, используют и .NET. Хотя я точно не хочу участвовать в Java vs .NET
Речь, наверное, не про .NET, а про его кроссплатформенного братца dotnet-а.
да какая разница? Если не используется виндовс, то бизнес-код обычно пишут на Java. Всё равно же сервер будет под линуксом.
В каждой новости о жаве не забывают напомнить, что у нее есть клон-недоносок.
Вместо ходьбы на ногах, предлагается пересесть на инвалидное кресло.
Девелоперс-девелоперс-девелоперс...
Клон? После версии 2.0 ни разу. Язык имеет более вменяемую системой типов и лучшие обобщения. А платформа создавалась для нескольких языков (как GraalVM сейчас), а не затачивалась только под один язык, а далее переиспользовалась создателями других языков.
Это не является сколько нибудь существенным преимуществом. Тем более с учетом постоянного введения новых фич, ибо ранее яву критиковали за излишнюю консервативность.
В пятницу взял себе в команду дотнетчика, он сперва разрабатывал на яве не долго, потом на дотнете пару лет и переполз обратно на яву. Купил пару курсов по яве чтобы освежить знания. Он кратко пояснил, что ява ему больше нравится как платформа ввиду более широкого ее применения. Это уже второй бывший дотнетчик в команде.
Слово "ява" говорит о том что кое-кому не мешало бы пройти курс английского. :) Но я с вами тоже согласен, по сути единственная разница между dotnet и java это большая закрытость dotnet и меньшее число платформ. Правда непонятно зачем покупать курсы, если в сети и так все есть)
Не понял насчет английского.
Из википедии:
Ява — сорт кофе, выращиваемого на острове Ява.
Ява (Java) — язык программирования.Насчет курсов, человек посчитал, что с курсами будет быстрее и эффективней.
Не, ну если ваш поц по курсам учит программирование, то его мнение конечно же очень значимо :)
Настоящие разработчики учат не язык, а методы, приемы, архитектуры разработки. Язык важен в части знания его фич, но не важен в части стратегии создания продукта.
Пробовал без оскорблений прожить хоть один день?
Попробуй, может понравится.Я всегда думал, что настоящие разработчики грамотно строят архитектуру приложения и пишут адекватный код с первого раза. А оказалось, что они все что-то учат.
Разработчики строят архитектуры и программят, после того как выучат и освоят методы, применямые в computer science (а не только в каком-нить новомодном языке X). Или ваши эфимерные разработчики разрабатывают правильные прямо с пеленок? Язык программирования - это просто инструмент со своими плюсами и минусами.Кстати, запишите себе и повесьте себе над ващим рабочим местом - нет "правильных архитектур", а есть "текущие архитектуры" и подходы.
90% разработчикам не требуется для работы ничего, кроме знания инструмента. Знание же вычислительных методов, в широком смысле, совершенно бесполезная, чаще всего, в работе общая эрудированность. Поэтому, да, курсы по инструменту куда эффективней, чем чтения бесполезного бреда про парадигмы и алгоритмы.
Произносится как "Джава".
Кем? Остров называется Ява.
Зачем ты рассказываешь про своего какого-то "дотнетчика"??
Есть громадный рынок на .NET платформе. Можете хоть обссыкаться со своей жабой, но C# впереди планеты всей. Сам пишу на c# с 2002 года. Желания перелазить в тухлый мир Жабки не возникало ни разу.
Думаю, не будете спорить, что дотнэт пока явление скорее маргинальное.
Ещё немного и жава станет котлином.
Ещё немного и эти двое станут Скалой.
неа, в Скале зависимые объекты, тайп-левел функции, типы объединения и пересечения... Не, Джава Скалой не станет
Неа, скала сложновата, не все осиливают порог вхождения.
Поэтому и появился котлин, он такая скала на минималках.
Но перетянуть может груви - он как ява, только из коробки со всеми плюшками, которые дает ломбок, и ещё огромной кучей.
Она не сложновата, а специфична. Этакая помойка из всего подряд.
Я с Грувями на...ся на Дженкинсе. Слишком много подводных.
Круто конечно, но я всё ещё сижу на Java 8 и пока не собираюсь переходить на новую версию.
Не волнуйтесь - если у вас достаточно крупный проект - безопасники вас заставят перейти.
Поддержка 8ки заканчивается в этом году.
Кем/чем оканчивается? Ораклом? Ну и фиг с ним.
Думаю большинство сидят на 8-ке, особенно энтерпрайз.
Слишком быстрое версионирование.
LTS-ы не часто выходят. На них подавляющее большинство сидит у кого не хелловорлды.
EdDSA это от товарищей из АНБ?
От профессора Нью-Йоркского университета Гарольда Эдвардса.
>sealedТа ё моё. Теперь головоногость создателей каких-нибудь фремворков будет ещё сложнее исправлять.
+1, сколько раз приходилось в бородатые года патчить тот же Spring, и при этом воевать со всякими final, разбросанными то тут, то там. А ждать, когда community/org починит или примет патч некогда, проду и кастомеру ехать надо, а не open source развивать.
Если ехать надо, но тогда Спринг не надо.
Жаба превратилась в жалкое подобие Kotlin. Воруют оттуда фичи, но делают их так блевотно и убого. Жесть.
тоже самое подумал, переносят функционал kotlin
А вы в пресслужбе "мозгопёрда" работаете? ИДЕ у них овно. И котлин -- овно.
Так-то Котлин сам из других языков фич наворовал.
Когда эта оракакеловская шаражка завезет нормальные дженерики? Уже 10 лет обещают.
А нормальные - это какие?
Такие, которые без type erasure.
А переведите-ка мне и эту вашу type erasure-у. Вот интересно будет.
вероятно товарищ хочет чтобы в рантайме через рефлексию они выглядели как дженерики, а не как выведенные компилятором конкретные классы.
"Дженерики" (ака шаблоны) в рантайме никак не выглядят (потому что это не класс, инстанцировать его нельзя, поэтому в рантайме просто нечему как-то выглядеть). При аргументации шаблона (его вызове) будет обычный класс. Другое дело, что в Яве вызов шаблона с разными аргументирующими типами порождает один и тот же базовый класс, а не разные. У такого подхода есть ряд неудобств. Но есть и своё достоинство -- преемственность сохраняется.
Скажем, результатами вызовов шаблона ШурумБурум<> ШурумБурум<String> и ШурумБурум<Number>, по идее, должны быть два вполне себе конкретных и разных класса ШурумБурум<String> и ШурумБурум<Number>. Как-то так в Шарпе. И, в общем-то, так понятней. Но в Яве на уровне исходного кода сохраняется такая же логика. Поэтому не вижу особых проблем. Ну кроме рефлексии. Но я её и не использую практически.
Кому и зачем? Нужно честные шаблоны -- есть Плюсы. Хотя, не очень понимаю зачем вот прям так уж они и нужны. Шарповская писанинам с ними удобнее не становится.
А разве сейчас родную Java кто то использует ? Там с какого то номера использовать ее в комм. целях без платы нельзя. Все используют только open-java и т.д.
В середине 2018 года Oracle объявил, что собирается изменить лицензионную политику. 16 апреля 2019 года изменение вступило в силу. Теперь все опубликованные после этой даты сборки Java SE можно использовать бесплатно только для личных нужд и с целью разработки. Для использования в коммерческих целях (в том числе для продакшена) надо оформить платную подписку у Oracle.
это кстати касается даже java идущей в составе соляркиhttps://blogs.oracle.com/solaris/update-on-oracle-java-on-or...
Только Oracle Java от самой Oracle, все остальные дистрибутивы открытой Java никаких новых ограничений не накладывают, все тот-же GPL(сама JVM) + Classpath linking exception, это исключение позволяет писать легально закрытый код или ПО под любой лицензией используя classpath java, без отчислений.Ты говоришь как раз про Oracle Java, именно Oracle, а не OpenJDK. Вот на Oracle Java теперь действительно бесплатно пользоваться нельзя. Там есть классный инструмент - Java Mission Control. Мне, по работе, пришлось его использовать на старой версии Oracle Java (кажется 8u202), чтоб было бесплатно и легально, т.к. работаю на крупный банк.
Но почти все фирмы где я работал пользуются открытой Java, если нужны длительная поддержка то например Azul делает LTS сборки под называнием Zulu OpenJDK, а еще есть Amazon Corretto, сборки JDK от дистрибутивов, тот же RedHat. И у всех одна лицензия - GNU General Public License (GNU GPL 2 and 2+) with a linking exception.
Потому ничего не поменялось.
Я что-то неверно в тексте понял?
Написано что: "... и по производительности опережает существующую реализацию ECDSA, написанную на языке Си, при том же уровне защиты. Например, EdDSA при использовании эллиптической кривой со 126-битным ключом демонстрирует производительность аналогичную ECDSA с эллиптической кривой secp256r1 и 128-битным ключом. "Т.е. EdDSA при 126 битном ключе аналогично ECDSA при 128 битном ключе? Но разве это опережает?
Сразу извиняйте если глупость сморозил, в криптографии не силён, гляжу лишь на числа из текста :)
Жабисты в очередной раз пытаются убедить сами себя в том что жава не тормозит. Просто пропусти этот абзац.
У нас на работе java 8, после kotlin вообще сложно на ней писать.
А где ж это вы так к Котлину-то успели всей душой прикипеть? Исходного обучения на нём нет. Классическая учебная литература в лучшем случае Яву 8-ку использует. Литература по Котлину пока очень любительского уровня (я о методологии подачи). Вообще не представляю как можно Котлин осмысленно использовать не имея опыта писанины на Яве.
kotlin удобнее гораздо, компактнее и на нем не возникает NPE в любых неожиданных местах.
У нас android приложение на нем написано, а бэкэнд на java 8 и spring boot
Есть хорошая документация на сайте https://kotlinlang.org/docs/reference/
Документация как раз плохая. Хотя документация и по самой Яве, скажем так, очень разная по качеству.
Оч просто, пишешь это так как бы ты это хотел написать, и в 96% так оно и есть. А в сложных ситуациях - к доке на сайте.
Это демагогическая утопия. Я бы вообще никак не хотел. А как нужно в случае Котлина чаще всего вызывает недоумение. Сишный синтаксис, и яваный до 8-ки, хорош своей однозначностью. Там нечего домысливать или предполагать. Всё сразу видно. В Котлине однозначность убрали в угоду моде и скриптоголовым. К тому же, многие идиомы поменяли там, где их менять не нужно было -- и прежние отлично работали и не досаждали ничем.
Поддерживаю, к хорошему привыкаешь быстро.
Вздохнул с облегчением, когда перешёл с Котлина назад в Джаву.
В русском языке есть слово Ява. Исходное название острова пришло, скорее всего, из санскрита. И звучит как иява (что-то вроде ийва), а ну уж ни как не джава. В европейский обиход пришло через голландский, а никак не через английский.
> В русском языке есть слово Ява. Исходное название острова пришло, скорее всего,
> из санскрита. И звучит как иява (что-то вроде ийва), а ну
> уж ни как не джава. В европейский обиход пришло через голландский,
> а никак не через английский.я извиняюсь, мы в топике про географию или язык программирования?
а то я тоже могу поумничать, что буква С к нам пришла из латыни, поэтому правильно говорить "язык программирования Ке"
Язык назван по топониму. Этот топоним на русском, и не только, звучит как Ява. Поэтому и писать, и говорить Ява будет вполне себе корректно. Утверждать же, что вот Ява это не правильно, а правильно Джава, как минимум безосновательно.
> Язык назван по топониму. Этот топоним на русском, и не только, звучит
> как Ява. Поэтому и писать, и говорить Ява будет вполне себе
> корректно. Утверждать же, что вот Ява это не правильно, а правильно
> Джава, как минимум безосновательно.а я ничего не утверждаю. это я, штоль, пришел в тред умничать про топонимы и учить правильному произношению?
вы мне напомнили одного кекса, который тряс документом из американской конторы по стандартам, где говорилось, что правильно говорить не гигаватт, а джигаватт.
Там выше американизированные товарищи тельняшку на груди рвут (или задницу на британский флаг?), утверждая, что только Джава. Ну вот я и написал, что Ява тоже вполне себе корректно, если вы в русскоязычной аудитории общаетесь.
товарищ, вы спорите с голосами у себя в голове.
Нет, не только. Я и с голосами из-за пределов своей головы частенько спорю. Вернее -- поучаю их.
> Нет, не только. Я и с голосами из-за пределов своей головы частенько
> спорю. Вернее -- поучаю их.вернее, выступаете в роли живой иллюстрации эффекта даннинга-крюгера. вот щас, например, даже на бис выступили.
Что за эффект? Крюгер это чувак, который ногти не стриг?
А эти даннинг с крюгером были достаточно компетентны, чтобы делать такие выводы? Если да, то как же они осмелились их делать? Если нет, то к чему о них вообще знать?
А как в вашей вселенной называют язык Perl - Жемчужина? А Rust - Ржавчина? A С# - Си Диез? Я даже боюсь спросить за Visual Basic
C# по русски будет до диез, грамотей вы этакий.хотя я не имею ничего против называть rust на русском "ржава"
То, что вы перечислили, чаще всего акронимы. Ява же -- нет. Не то, чтоб использовать прямую транскрипцию названия так уж не правильно, но называть Яву Явой вполне себе корректно. А то задолбали эти бессмысленные "комиты" и "шардинги". Чаще всего, языковой калькой пользуются, когда совершенно не понимают, какой за ней смысл (по крайней мере, именно такое впечатление складывается). Бывает, конечно, когда пиджин использовать просто экономичней. Но "комит" или "джава" ничуть не короче, чем "фиксация" или "Ява".
> То, что вы перечислили, чаще всего акронимы.тов. языколюб, под акронимы там попадает в лучшем случае "бейсик" из визуал бейсика. чаще всего, ага.
>Но "комит" или "джава" ничуть не короче, чем "фиксация" или "Ява".
удачи в научании малограмотных говорить "я зафиксировал исходные тексты в хранилище"
Нет, там все акронимы. Ява же, вроде как, нет. Но ведь "зафиксировал исходные тексты в хранилище" это же понятно. Просто я у одной девчушки пытался выяснить, что же это за комит такой, со стэйджем. Так и не смогла объяснить. Хотя, ей, с другой стороны, и слово "Этап" тоже ничего не говорит. А фраза "пойти по этапу" тем более. Щебетание же какое-то птичье получается. Бессмыслица звукоподражания.
>>>Perl Rust С# Visual Basic
> Нет, там все акронимы.лицорука.жпг
Акронимы-акронимы. Часть можно трактовать как "обратные акронимы", но это не важно. Важно, что авторы этих названий подводили под них, хоть и в шутку, какие-то аббревиатуры. Яву же назвали по топониму, пусть о опосредованно -- через сорт кофейных зёрен.
Мы тоже вздохнём с облегчением, когда ты с Джабы обратно в управдомы вернёшься.
>После данной операции объём занятого дискового пространства возрастёт на 458 MB.Какой-то жирный он стал, не находите?
Это ты сырцы хромого не видел... там десятками гигабайт измеряются.
Неужели? o_O
>> все ранее написанные Java-проекты без изменений будут работоспособны при запуске под управлением новой версииах-ха-ха
% uname -rsm
FreeBSD 12.2-STABLE amd64
% pkg info -x jdk
bootstrap-openjdk11-11.0.5.10.1
openjdk12-12.0.2+10.4_1
openjdk13-13.0.4+8.1
openjdk14-14.0.2+12.1
openjdk15-15.0.0+36.1_1
openjdk8-8.265.01.1— одно без другого не собирается!