| |
| 2.14, Аноним (14), 23:25, 01/08/2026 [^] [^^] [^^^] [ответить]
| –3 +/– |
Только а зачем, если на уровне компилятора можно было отлавливать все что можно оптимизировать и обрабатывать под капотом? А для валидаций в java и без этого много инструментов.
| | |
| |
| 3.55, Аноним (55), 12:46, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Интересно, у них генерики всё ещё упаковываются в object или уже победили?
Смешно было, когда «отсталый клон от мелкомягких» уже на версии три обходил по куче аспектов, а с четвёрки ушёл в отрыв.
(потом пришли индусы-явисты и всё скатилось, но это уже другая история)
| | |
| |
| 4.59, Аноним (58), 14:08, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Обратная совместимость в java - это не шутки. У меня до сих пор есть код, который под Java 1.4 написан. И работает же, не требует переписывать.
Поэтому когда mircosoft сделал с нуля что-то похожее, он смог отбросить неактуальные ограничения. К сожалению, отбросил он и необходимые ограничения тоже, поэтому не майкрософт не смогли родить кросс-платформенное решение в отличие от джавы. Мелкомягкие даже аналог JCK родить не смогли. То есть не смогли стать ничем серьёзным, ограничившись своей платформой с кучей несовместимостей.
| | |
|
|
|
| |
| |
| 3.16, Аноним (16), 23:33, 01/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
и плевать, что прямо в новости написано "В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты. "
| | |
| |
| 4.24, Аноним (6), 01:30, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Поинт из двух тестов да, а из трёх - нет. Атомарность при изменении объекта в джаве ломать не будут.
| | |
| 4.32, morphe (?), 03:57, 02/08/2026 [^] [^^] [^^^] [ответить]
| +3 +/– | |
Там лимит 64 бита для прямого хранения
Для того чтобы из нескольких потоков можно было переписывать элемент массива и при этом не получалось data race когда одно поле внутри Point переписало, а второе нет - они требуют чтобы такие записи были атомарные, а атомарно больше 64 бит писать нельзя
| | |
| |
| 5.33, morphe (?), 03:59, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
При этом на платформах что не могут атомарно писать 64 бита, например x32... Лимит будет ограничен 32 битами. Ну, хоть Integer[] оптимизирован будет.
| | |
| 5.34, Аноним (16), 05:14, 02/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> для того чтобы из нескольких потоков можно было переписывать элемент массива и при этом не получалось data race когда одно поле внутри Point переписало, а второе нет
Чел, попытайся читать не пятой точкой. Тебе прямо в первом предложении сказано "Introduce value objects, which are immutable". Ты понимаешь, что такое immutable?
| | |
| |
| 6.37, morphe (?), 06:09, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Чел, попытайся читать не пятой точкой. Тебе прямо в первом предложении сказано
> "Introduce value objects, which are immutable". Ты понимаешь, что такое immutable?
Я говорю не про изменение поля внутри Point, а изменение элемента массива Point[]
...Что реализовано атомарным переписыванием всех полей
| | |
|
|
|
| 3.18, penetrator (?), 23:41, 01/08/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> В данном примере "Point[]" теперь может хранить значения напрямую, а не ссылки на объекты. | | |
| |
| 4.27, Аноним (6), 02:34, 02/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
В данном да
https://openjdk.org/jeps/401
>Reference flattening must maintain the integrity of data. A flattened reference must always be read and written atomically, or it could become corrupted. On common hardware architectures, this limits the size of mutable fields that store flattened references to no more than 64 bits. | | |
|
|
| |
| 3.10, Аноним (10), 22:33, 01/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
а те к бэсика с паскалем, получается что тое у бэсика с паскалем
| | |
|
| 2.44, Анонисссм (?), 10:02, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>Создатели явы изобрели структуры.
по факту это всё было много лет в лице подключаемых одной строчкой fastutils, колобок итд
| | |
|
| |
| 2.20, Brian (?), 23:52, 01/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Только как обычно в Java этим без слоя гов/del ломбока пользоваться невозможно будет, за нормальным апи придется опять в котлен идти
| | |
|
| 1.15, Аноним (15), 23:27, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
ну вот и нормальная реализация потихоньку выходит на сцену. не корявая наколенка типа сишарп стракт. всётаки джава оперирует баблом всего мира
| | |
| |
| 2.28, Илья (??), 02:37, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> не корявая наколенка типа сишарп стракт
скорее наоборот. в дотнете виртуальная машина планировалась под структутры и дженерики, и там всё это уже лет 20 есть
| | |
|
| 1.17, zionist (ok), 23:41, 01/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Теперь вместо раздувания по heap памяти получим раздувание по CPU и по стеку. Когда миллионы жабодевелоперов с непривычки начнут передавать value слассы куда угодно, то есть станут приумнажать копирование данных.
| | |
| |
| 2.45, Анонисссм (?), 10:04, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>получим раздувание по CPU и по стеку
очередная экспертиза попеннета.
Это огромная разница для:
CPU cache;
SIMD;
скорости обхода.
4. Меньше cache misses ⭐⭐⭐⭐☆
| | |
| |
| 3.57, zionist (ok), 13:47, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>получим раздувание по CPU и по стеку
> очередная экспертиза попеннета.
А что не так в том, что я сказал?
> Это огромная разница для:
>
> CPU cache;
> SIMD;
> скорости обхода.
> 4. Меньше cache misses ⭐⭐⭐⭐☆
Это всё хорошо, но в бэкэнде обычно просто данные переносят для обработки от туда сюда и обратно. Как тебе тут помогут CPU cache и прочие SIMD, если value классами начнут пользоваться бездумно где только можно?
| | |
|
|
| 1.21, Аноним (21), 00:03, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Тот самый момент, когда ребята, которые хвалились какие у них классные интерпретируемые/VM-языки, начинают заново изобретать велосипед, т.е. простые типы из компилируемых языков. Ибо так тупо оптимальнее.
| | |
| 1.22, Аноним (22), 00:43, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
В оракле только пока ещё видимо не поняли что ничегл кроме раста не нужно. Всё, что сейчач написано на жаве может быть написано на расте и работать сильно лучше.
| | |
| |
| 2.26, Аноним (15), 02:00, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
помнится судо на раст аккуратно переписывали и выявилась куча багов.
| | |
| |
| 3.31, Аноним (31), 03:54, 02/08/2026 [^] [^^] [^^^] [ответить]
| –2 +/– |
Джава "гораздо безопаснее" какого-нибудь C++. По сравнению с растом она только чуть-чуть более безопасна, но плата за это чуть-чуть - гигантская. Хреновый расход памяти, хреновая производительность, постоянное таскание JRE с собой, хреновая система типов, низкокачественная экосистема библиотек, и так далее.
| | |
| |
| 4.39, iZEN (ok), 08:21, 02/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Для компиляции и сборки Rust 1.97 на FreeBSD не хватает 32 ГБ оперативной памяти, процесс сборки лезет в SWAP.
Для компиляции и сборки OpenJDK 26 достаточно 4 ГБ ОЗУ.
И что из них считается bloatware?
| | |
| |
| 5.43, Аноним (-), 09:41, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
До этих не достучаться. Сами придумали что раст - серебряная пуля, панацея. Сами в это поверили... ведут себя как откровенные фанатики. Вот уж действительно маркер здравого смысла!
| | |
|
|
|
| 2.50, Человек обыкновенный (?), 11:18, 02/08/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Сейчас нейронки делают на Си то, ради чего руст придумали, и при этом с нулевыми затратами времени выполнения. Современные нейронки сделали старинный Си опять актуальным.
| | |
| |
| 3.56, Аноним (3), 13:12, 02/08/2026 [^] [^^] [^^^] [ответить]
| +/– |
Если уж на то пошло, то к такому коду ты не можешь притронуться своей рукой, а то опять дырка получится. Понять его тоже не так просто бывает.
Вот и получается, что уже и не важно на чем написано, хоть на asm. Нейронка написала - нейронка будет рефакторить несколько версий спустя (версий самой нейронки).
| | |
| 3.62, Вася Пупкин (?), 14:52, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Согласен, в принципе Раст уже не нужен, пишешь на С а нейронки все проверят, сразу скажут где баги
| | |
|
|
| 1.29, Илья (??), 02:48, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как реализованы дженерики с структурами?
При каких условиях будет упаковка?
Столько неудобных вопросиков, на которые разработчики сишарпа отвечали ДО разработки языка
| | |
| 1.49, Смузихеб забывший пароль (?), 10:27, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
"не имеют идентичности (в отличие от обычных объектов, два экземпляра с одинаковыми полями считаются равными)"
-Мы сделали максимально громоздко, сложно, зато типо секурно и теперь - да, срочно допиливаем чтобы было просто ведь сильно секурно не получилось )
| | |
| |
| 2.61, Вася Пупкин (?), 14:50, 02/08/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Они с самого начала в языке, пример:
List list = new ArrayList();
list <----- это указатель на кусок ОЗУ в котором хранится непосредственно ArrayList
| | |
|
| 1.63, Аноним (63), 15:22, 02/08/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Скучаю по временам, когда меня волновали подобные изменения. Теперь против своей воли (чтобы меня рыночек не порешал) использую ии агент, и уже не думаю о таких мелочах. А хотелось бы как раньше
| | |
|