После шести месяцев разработки компания Oracle выпустила платформу Java SE 19 (Java Platform, Standard Edition 19), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 19 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 19 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java 19 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=57808
Что они делают с самым лучшим, простым и понятным языком. Раньше раз в сто лет выходила стабильная, продуманная версия, и тогда можно было запланировать миграцию. Сейчас что не день то новая версия, мы вот-вот только начали переход на 11 и вот уже 19. Никакой стабильности. Теперь библиотеки под каждую версию собирать которых они наплодили выше крыши.
> Что они делают с самым лучшим, простым и понятным языком.Это, разумеется, шутка? Для справки: самый лучший, простой и понятный язык - это Smalltalk. Не слышали, да?
> Сейчас что не день то новая версия, мы вот-вот только начали переход на 11 и вот уже 19. Никакой стабильности.
Опять что-то добавили. Не отменяет того, что было написано до.
Единственная существенная проблема с добавлениями была в 9-й версии, когда появились модули.> Теперь библиотеки под каждую версию собирать которых они наплодили выше крыши.
А зачем?
Ну, вот, возьмите для примера какие-нибудь JDBC-драйвера (Oracle, DB2, Postgres...) - разработчики, что, пакуют для каждой версии отдельный файл? нет, говорят только "JDK не ниже такой-то версии" (ныне обычно 8).
Уже сейчас есть либы под 8 и 11. А у нас ещё есть 17 ЛТС.
А ты просто не используй 8 совсем. И всё тут, проблема решена. Кто использует 8 - тот ссзб.
Какой Smalltalk? Он же тормозной как УГ!
Конечно же лисп лучший язык!
Если бы вы видели, с какой просто бешеной скоростью работает VAST (VisualAge Smalltalk), когда как Java IDE и на самых современных компах ухитряются тормозить...А так... ну, примерно сходного уровня. С поправками на тонкости реализации.
В студенчестве видел VigualAge Java. Не сказал бы что он сильно тормозил.
Не тормознее же Жабы. Smalltalk он же в машкоды компилит?
Без развиваемого компилятора язык ничто. Когда там релизнулся компилятор Smalltalk'a ?
Уже давно. И назвали его Java.А если серьёзно, то Sun в своё время скупил на корню команды StrongTalk и Self, чтобы выпустить HotSpot JIT. И байткод джавы в плане типизации не далеко ушёл от смолтолка, все оптимизации происходят в runtime, и в большинстве своём были бы применимы к динамическим языкам типа SmallTalk.
Нет, Java тут совершенно не причём.
Проблема в том, что нормальные Smalltalk'и (а именно - VisualAge, VisualWorks, GemStons/S) коммерческие, а с некоммерческими (Squeak, Pharo) как-то не сложилось (хотя мои претензии вовсе не к их виртуальным машинам).
Глупости. Если компилятор рабочий, нафига его "развивать"? Новичков, которые приходят с других языков и ноют "хочу вот такую удобняшку, как я привых", надо сразу слать лесом.
Smalltalk сформировался очень давно, очень маленький, но добавлять туда практически нечего, поскольку и так всё хорошо. Это про компилятор (преобразователь текста в байткод). Это вам не (Java/JS/C#/Python), где у разработчиков чешется добавить очередное "улучшение", в результате которого язык раздувается, усложняется, и, сколько бы они чего ни добавляли, всё равно хуже Smalltalk'а.С другой стороны, виртуальные машины там улучшают до сих пор. Новые архитектуры процессоров, новые идеи...
Требую переписать линукс на турбо паскале!
Займись
И какой глубокий смысЕл сего?
На Трубопаскале лучше.
> За исключением удаления некоторых устаревших возможностей в Java SE 19
>> Опять что-то добавили. Не отменяет того, что было написано до.Отменяет в общем-то
Ладно бы развитие шло в рамках определённого функционала( т.е оптимизация и добавление нового, без удаления старого, для полной обратной совместимости ) и каждые лет 5-10 - полноценная новая версия с выкидыванием старого барахла, переносом годноты и расчётом на то, что это гарантированно никуда не денется ближайшие несколько лет, до нового полноценного выпускаА так - то одно выкинут то другое и черт его в итоге знает, что и где отвалится. Может потребоваться всё тестами обмазывать только потому что жаба решила валить в кучу и добавление нового функционала и выпиливание старого
Сейчас так и происходит. Раз в 5 лет выходит lts релиз
Smalltalk - где используется этот самый лучший, простой и понятный язык ? Много ли вакансий под него ?)))
Smalltalk - это шутка ? Тогда самый простой и понятный язык - это Fortran)))
>Это, разумеется, шутка? Для справки: самый лучший, простой и понятный язык - это Smalltalk.А как же scheme?
Они всё делают правильно. Очень рад, что джаву оживила новая система релизов. LTS-релизы работают по-старому.
Как же это смузихлебно, раз 10 лет должна выходить полноценная версия, с возможностями которые были в kotlin и c# 15 лет назад.
Только тогда эксперты будут довольны.
Это как раз таки антисмузихлёбно и абсолютно правильно.
догоняют C#кстати как там на джаве с лямбда выражения и Linq?
а то что они здесь добавили это намек на Pattern Matching (сомнительная хрень, но лаконичная)
лямбда выражения появились в java 8
В C# лямбда выражение - это не просто замыкание. Это ещё и AST, поддающееся програмному анализу. В Java разве так же?
И там и там это обычный анонимный класс с одним методом. Никакие "лямбды" и никакие "замыкания" не возможны в языках с типами.
Как по вашему происходит преобразоыание выражений из Linq в SQL? Или в запросы к MongoDB как на "чистом" C# пишутся?В C# то, что выглядит анонимная функция, может быть как "анонимным классом с одним методом" (т.е. "замыканием"), так и объектом типа System.Linq.Expressions.Expression. зависит от того, параметр какого типа принимает то, куда вы его передаёте.
Танцуем от задач. 17 версия LTS, кто мешает на ней сидеть до 29 года.
Предвидение проблем, которые начнутся в 2029 году, не?
Каких проблем? Можно как все правильные люди использовать java 8. Вяло поддерживать написанный 7 лет назад сервис, разработчики которого уже давно свалили.
Например, уязвимостей, которые вдруг через N лет после релиза найдутся, а фиксить их оракл даже и не подумает.
Но у oracle есть платная расширенная поддержка. Просто платите и испо́льзуйте версию более чем 8 летней давности с исправлениями уязвимостей
Или бесплатная у кучи других вендоров.
У же не в java дыры будут, а в библиотеках которые 8 лет не обновляли и обновить не сможете
8-ка LTS. Ещё лет 15-ть какой-нибудь Амазон или Беллсофт будут поддерживать.
оракл давно уже не основной провайдер Явы.
В 2029 году "или я, или ишак, или падишах"
Что-то джаву после 8 версии куда-то не туда поперло... Явно берут пример с С#.
C# всё, умер, Visual Studio не обновляется в России. Переходим на Eclipse с JDK. Единственное, ни как не могу придумать как по простому виндовые API дёргать (WMI), как минимум JNA тоскать что ли?
Не густо. Вот как надо:
https://devblogs.microsoft.com/dotnet/performance-improvemen.../
https://devblogs.microsoft.com/dotnet/performance-improvemen.../
https://devblogs.microsoft.com/dotnet/performance-improvemen.../И это без фич
Сначала нагoвнокодили, а потом фиксят?
Получается, этот говнокод работает в разы (а местами в десятки раз) быстрее оффтопика.
Бенчмарки несложно нагуглить
*сабжа
**** - сажа
ну скинь ссылку, не забанят ))поговорим предметно
Ну вот к примеру веб фреймворки - это основное направление обеих платформ:
https://www.techempower.com/benchmarks/#section=data-r21&tes...
Эх, если бы "фиксят"! Просто ЕЩЁ БОЛЬШЕ говнокодят для нового релиза.
Ты хоть бы ссылку открыл что-ли для приличия
бОльшая часть энтерпрайса ушла на шарпы
телефоны на котлине
Что остаётся, кроме кубиков?
> дотянут ее до уровня шарпаА чего ещё Java нужно для этого?
Нормальные типы данных? Например unsigned int и тому подобное
Типы вообще не нужны, скоро, лет через пять, любой компилятор оптимизирует код с использованием нейронок
"Нейронные" оптимизаторы невозможны. Аппроксимировать просто нечего.
Мы не про твой питон разговариваем
Тогда вообще говорить не о чем. Питон скоро заменит всё, кроме низкоуровневого программирования.
Когда шарп как язык дотянут по до Руби, а .Нет как экосистему дотянут до Ява-экосистемы - приходи, поговорим.
Ява полностью бесплатна. И Ява куда матерее шарпа. Но подсовывать можете что угодно, перепрыгнуть на Яву сейчас крайне сложно. Всё же Ява стала очень сложной.
А ещё Ява - это мотоцикл
Только пишется Jawa
10 лет на жабе пишу, только сейчас узнал что пишется "Java", а не "Jawa"
Телефоны, к сожалению, скоро на dart будут
Ты отстал от жизни. 90% приложух пишутся на js\html\css в контейнере от хрома.
бОльшая часть энтерпрайса ушла на шарпы - видел я это энтерпрайз. чтобы какать пользователям в рот качественно и называть это бизнес процессами.
Можно подумать что опенсурсные проекты источают аромат роз.))) Похлеще по дерьмокоду любого энтерпрайза
> бОльшая часть энтерпрайса ушла на шарпыВызывающе неверная информация. Естественно, без пруфов.
> бОльшая часть энтерпрайса ушла на шарпыКак оно было на C/C++ и Java, так ещё лет 50 и будет.
А через 50 лет или эмир, или ишак...
На квантовых компах будут свои языки.
Языков скоро, как и программистов в классическом понимании не будет. Машинный код будут генерировать нейросети, а для их "программирования" нужно будет лишь дать задание в виде описания чего ты хочешь, думать над алгоритмами уже не придётся.
Я подобные предсказания уже лет 20 слышу, и все со словом "скоро"
"Описание чего ты хочешь" это и есть программирование.
> Языков скоро, как и программистов в классическом понимании не будетМне то же стало интересно. Математически доказано, что невозможно достичь полноты обучения. Т.е. всегда будут задачи, на которых ИИ дает неправильный ответ.
Там где это неважно - ИИ использовать можно.
Там где важно - ИИ использовать нельзя.
Решить эту проблему может большой ИИ, который обосновывает свои решения.
Когда, по вашему, будут результаты по его разработке?
"Математически доказано", что "машинное обучение" никакое не обучение.
Никакого ИИ не существует. Интеллект двоичной логикой не выразим. Банальные методы итерационной дискретной аппроксимации обзывать "интеллектом" как-то совсем не о том.
Современные методы, которые колхоз обзывает ИИ, принципиально применимы только там, где ответ УЖЕ ИЗВЕСТЕН. И есть тот, кто этот ответ знает, задаёт и способен ответ выразить и оценить соответствие ему некоторого гипотетического предложения. Пресловутая проблема останова.
Шарпа в интерпрайзе как было полпроцента, так и осталось.
Можно ссылочку на статистику?
А можно сначала пруф на изначальное утверждение "бОльшая часть энтерпрайса ушла на шарпы"?
Я такого не утверждал. Но смею предположить, что автор основывался на том, что популярность java падает, а .net растет в последние годы согласно статистике различных изданий.
Красн0глазые звездуны опять на опеннете :)) Это Линукс как был 1% гиков, так и остался. А шарп (на фоне неуклюжего и опасного С++) взлетел дай боже! Сейчас практически нет библиотек, к которым не было бы C#-реализации или хотя бы шаурмы (wrapper вокруг бинаря). Вендодесктоп процветает на C#/WPF/WinForms. И только во влажных фантазиях студентов Линукс всё ещё кого-то побеждает. Напару с жабой, конечно же. :))
> телефоны на котлинеПоржал. Ты явно не в теме. 90% приложух которые ты видишь в маркете написаны на js\css\html и вертятся в контейнере от хрома.
Скрипты навроде питона они, значит, запрещали, а js крутить - пожалуйста.Логика на марше.
> Добавлена поддержка виртуальных потоковНаконец-то, давно было пора обновить застаревшую многопоточность в Java. А именно, сделали ExecutorService Closeable, чтобы его можно быть использовать в try-with-resources.
А также
> экспериментальный API для cтруктурированного параллелизмаStructured Concurrency.
Осталось сделать нормальные Data-классы (а не то недоделанное поделие в виде Record), как в Kotlin, и тогда и Kotlin станет не нужен.
> Осталось сделать нормальные Data-классыЛучше структуры как в сишке, классы явовские по 16 байт лишнего мусора таскают на каждый экземпляр.
> Лучше структуры как в сишкеЧем лучше ? Чем армяне ?)
Если вам не хватает памяти, не используйте джаву.
Столько лет, а всё одно и то же нытьё. Или троллнг %)
Ты прав, конкурентность не является параллелизмом. Вот, что бывает, когда перевод технической информации делает гуманитарий.
Кажется мне эта гонка ради номеров версий. С этими версиями вообще сума сошли. Куда крестьянину податься? Все версии иметь одновременно?
Крестьянин никогда ничем не бывает доволен. Выходят новые версии редко - застой, часто - гонка. Сидите себе на LTS-версиях и всё.Но вообще, всё правильно делают. Развивать язык надо, иначе он всю аудиторию растерять может. Останутся только "крестьяне" одни.
> Развивать язык надоНе_надо. Есть полнота по тьюрингу - большего не_нужно. Если ты конечно не любитель смузи, который в жизни не осилит даже простейшие алгоритмы прохода по матрице.
Вообще очень красивый, лаконичный язык, только вот релизы слишком часто стали, что не есть хорошо. ИМХО.
> лаконичныйЧто, простите? У Явы много достоинств, но лаконичность - не одна из них. Более многословный и церемониальный язык надо ещё поискать.
Нет, почему, с 9-ки наоборот везде кругом "негласные соглашения" и мета-программинг. Но скриптовым макакам, да, сложно. Вообще, Ява, если честно, неподъёмно сложной стала. Для новичка просто ад адский.
Не соглашусь, Шарп тот же будет сложнее. В разы насыщеннее и сахарнее. Жава это эдакий компромисс, за это ее как раз многие и любят :)
>Более многословный и церемониальный язык надо ещё поискать.Cobol
> Более многословный и церемониальныйЯзык должен быть максимально многословным, чтобы уже на этапе написания кода минимизировать работу с отладчиком. Именно поэтому я в своё время выучил Ada (ИМХО лучший язык из суествующих). Паскаль тоже неплох, кстати. А вот от скобок лично меня воротит.
А как же Гёдель со своей Теоремой неполноты? Либо не полон, либо противоречив. Ада это про второе.
Минимизация работы отладчиком - дело благое, спору нет. Но вы правда считаете, что добавление слов в код минимизирует работу с отладчиком? Какая-то совсем неочевидная связь. А слова begin-end вместо {}, как в Аде или Паскале, или обязательные точки с запятой, тоже её минимизируют? А то что для программы Hello World в Яве надо заводить класс и функцию main, и указывать, что она public static void, это тоже минимизирует работу с отладчиком?По мне так если компилятор получает всю необходимую информацию из меньшего количества слов, так это лучше. И человеку читать такой код легче. А время работы с отладчиком зависит от количества багов, а не от количества ненужных слов в коде.
> А то что для программы Hello World в Яве надо заводить класс и функцию main, и указывать, что она public static void, это тоже минимизирует работу с отладчиком?Джава by design не предназначена для коротких скриптов и хеллоуворлдов. Джава это про большие и очень большие проекты на миллионы строк.
> По мне так если компилятор получает всю необходимую информацию из меньшего количества слов, так это лучше. И человеку читать такой код легче.
Такой код читать как раз сложнее из-за неочевидности что делает та или иная строка без глубокого погружения в отладчик или визуального осмотра кода. И да, отладчик - это не про баги, это про осмысление того что делает код, для контроля происходящего на том или оном шаге.
Что-то вы ни на один мой вопрос не ответили. А код надо писать так, чтобы можно было его понимать и осмысливать без глубокого погружения в отладчик. И лишний boilerplate в этом нифига не помогает, скорее мешает, отвлекая от сути кода.
> код надо писать так, чтобы можно было его понимать и осмысливать без глубокого погружения в отладчикУдачи. Через неделю надеюсь вспомните что означает вон тот однострочник длиною 100500 символов.
Странный какой-то ответ. Какое отношение однострочник в 100500 символов имеет отношение к хорошему коду?
Лаконичность в большинстве случаев приводит к росту неоднозначности. Которую вместо явных синтаксических элементов в коде пытаются нивелировать "культурным контекстом", т.е. "негласными соглашениями", что в итоге приводит к ещё большей неоднозначности, особенно когда в среду нужно заводить множество неофитов, которые понятия не имеют как было до "сахара" и этот "сахар" оценить не способны, а воспринимают его сугубо религиозно.
> Windows (x86_64)А что, в 4 Гб ОЗУ перестали помещаться?
У венды лимит 2 гб на 32 битах.
> У венды лимит 2 гб на 32 битах.На процесс?
> На процесс?На процесс.
>> На процесс?
> На процесс.И правда, я не знал: https://forall.ru-board.com/egor23/online/FAQ/Virtual_Memory...
А под икспишкой больше? Внизу пишут об этом
причём половину этого отжирают системные дллки
Никто не мешает перейти на Windows XP.
Лучшк сразу на православный дос и третий пень
валите на 486, там вам и иса и быстрый мул и дум с вольфенштейном
И голый дед!
Зачем из Явы делать Хаскель, когда можно сразу писать на Хаскеле?
Чтобы не писать на хаскеле
Хаскель - это ЯП для гуманоидов с другой галактики.
Ты хоть в глаза видел код функциональных языков? Это же вообще нереальная для освоения дичь.
Видел. А вот как пишут в вроде бы ООП языке Java, в стиле процедурного программирования из 70-х, с глобальными переменными, статическими функциями и статическими классами это действительно дичь.
В java нет глобальных переменных вообще.
И функции тоже нет, в java только методы.
А статический класс в java, это внутренний класс, не привязанный к экземпляру родительского класса.А так опеннет эксперт все правильно сказал, это действительно дичь.
Это когда три с половиной функции (map, filter и fold с compose) стали нереальной для освоения дичью?
Затем, что можно писать на лиспе и вместо halfway to lisp сделать full way to lisp.
У нас биллинг до сих пор на java 8.
Но мы смузихлебы, настоящий энтерпрайз ещё под java 6 пишет.
У нас тоже часть решений на 8-ке и все работает без проблем.
какие вы молодцы
LTS рано или поздно всё равно закончится.
Ха а у нас биллинг на оракловых хранимках и скале. Шах и мат.
Scala уже не модно. Модно Kotlin.
Лично я избегаю технологий, который слишком часто обновляются. А в языках обновления - это вообще лютое зло. Главное чтобы была полнота по тьюрингу, остальное не_нужно.
А шо, есть ЯПы без полноты тьюртнга? Разметки, типа HTML не в счет.
Главное чтобы ничего не было кроме тьюринга, 0% сахара
bpf, вроде как
Готов писать на Brainfuck?
на любой готовы писать !
Писал на Befunge, и даже в своё время компилятор для него делал на чистом 8086 (16 бит) ассемблере, вполне работоспособный язык.
Забавный релиз. Почти все нововведения в статусе preview или incubator.
>Предложена предварительная поддержка шаблонов записей (record pattern), расширяющая появившуюся в Java 16 возможность сопоставления с образцом средствами для разбора значений классов типа record.Джаве потребовалось 16 выпусков и не одно десятилетие для того, что на лиспе можно было бы реализовать за несколько дней неторопливого макрокодинга. Так держать!