У меня есть своя версия происходящего: это чистый маркетинговый ход перед IPO. Anthropic и так плотно взаимодействуют с правительством США, а быть моделью, которую блокирует собственное государство, отличный повод попасть в каждый телеграм-канал и каждый новостной дайджест.
просто у американцев не принято давать откровенный т.е. негативный фидбек
Если сегрегировать на простое и сложное, то можно получить со временем простое на месте сложного, как-будто выросшее до него, но не обладающее при этом его достоинствами. Также мы знаем и обратные примеры, когда сложное, например веб-технология Spring, делало лицо попроще и становилось массовым сохраняя уровень. Поэтому, мне кажется, нужна камунда подходящая для того что они там проделывают с n8n
ну Михайл написал, что файнал можно менять всегда и любым способом, но на деле только рефлексией и сериализацией, т.е. магическими путями, а обычное присваивание не сработает. Мне кажется, правильнее было бы сделать настройку для модулей запрещающую изменение файналов или даже применение рефлексий, а не наоборот все ломать одним махом
т.е. теперь хулиганы будут оставлять еще больше мин в коде, об которые разбивают разработчиков? Рефлексия для того и существует, чтобы выкручиваться из ситуаций когда обычным образом сделать не получается, но очень надо. Если безопасники ничего не знают, то для менеджера неспособность решить задачу на подсистеме, где кто-то злоупотреблял инкапсуляцией, может быть основанием чтобы обвинить разработчика в проф. непригодности и уволить после 2го такого страйка
кстати еще, долгое время существовал обычай финалить все поля у классов, что-бы гарантировать инициализацию без коллизий в многопоточке, и наверняка эти коды уже успели обрасти "решениями" всевозможных проблем на основе рефлексий и теперь они станут необновляемыми. Но зато безопасники будут рады.
кстати, странно что для Михаила не стала откровением полная изменяемость ссылочных типов объявленных как final. Но наверное это потому оно точно так работает везде включая const'ы в ненаглядном тайпскрипте.
то наверное он имел в виду, что x всегда будет и должен быть 42. Он не имел в виду, что x = 42 на данный момент, но на деле его можно менять как угодно и когда угодно.
вроде не первое апреля сегодня, я даж побежал проверять, ну мало ли, уже ничему не удивляешься
кровавая история с десериализацией, возможно, связанна стем что final подразумевает однократную запись, т.е. она разрешена если ранее значение было не определено. Именно поэтому, мне кажется, он final а не const. Это сделано для возможности отложенной или ленивой инициализации
интересно, что он не приводя детальных метрик все таки сделал противоречащий здравому смыслу вывод о более быстром относительно хипа нативном выделении памяти. Возможно он все таки использовал compile time массивы фиксированного размера в раст и динамические в джаве? Вообще, это похоже на проекционное мнение про "закостеленый" ооп дизайн супротив "прогрессивного" процедурного кода языка без классов. Или я просто :sarcasm там не разглядел?
возможно, никому кроме автора не интересно выполнять GPU задачи на CPU в "классической" библиотеке для рисования кнопачек, ну или и в самом деле .parallel() тут не к месту употреблен и нерфит перформанс в разделении огромной динамической коллекции с неконстантной скоростью доступа. А какие потоки там были использованы, может все считалось на одном ядре виртуальными? А может jdk в макоси на проприетарном арм в simd что-то делает не совсем оптимально? Если бы мы это знали, но мы этого не знаем.. Поэтому психически здоровые люди проверяют на разных платформах/библиотеках эквивалентный код, а не вот это вот все. Ну или они доводят расследование до конца показывая откуда велось нападение. Неужели было настолько стыдно показать код на раст?
а invokedynamic как раз неоптимален для разовых вызовов
сложение строк плюсиком в джаве не рекомендуется интенсивно использовать как раз из-за производительности, возможно, честный маршалинг бы еще выйграл
просто у американцев не принято давать откровенный т.е. негативный фидбек
кстати, интересно, хранил ли кто-нибудь все это время питоньи зависимости в локальных корпоративных репах?
спишь?
у них такая юридическая практика, что запросто могут дать и лет 100
я сказал Карпаты!
traces больше похоже, мне кажется, все-таки на "следы", чем на "дороги":)
Если сегрегировать на простое и сложное, то можно получить со временем простое на месте сложного, как-будто выросшее до него, но не обладающее при этом его достоинствами. Также мы знаем и обратные примеры, когда сложное, например веб-технология Spring, делало лицо попроще и становилось массовым сохраняя уровень. Поэтому, мне кажется, нужна камунда подходящая для того что они там проделывают с n8n
ну Михайл написал, что файнал можно менять всегда и любым способом, но на деле только рефлексией и сериализацией, т.е. магическими путями, а обычное присваивание не сработает. Мне кажется, правильнее было бы сделать настройку для модулей запрещающую изменение файналов или даже применение рефлексий, а не наоборот все ломать одним махом
т.е. теперь хулиганы будут оставлять еще больше мин в коде, об которые разбивают разработчиков? Рефлексия для того и существует, чтобы выкручиваться из ситуаций когда обычным образом сделать не получается, но очень надо. Если безопасники ничего не знают, то для менеджера неспособность решить задачу на подсистеме, где кто-то злоупотреблял инкапсуляцией, может быть основанием чтобы обвинить разработчика в проф. непригодности и уволить после 2го такого страйка
кстати еще, долгое время существовал обычай финалить все поля у классов, что-бы гарантировать инициализацию без коллизий в многопоточке, и наверняка эти коды уже успели обрасти "решениями" всевозможных проблем на основе рефлексий и теперь они станут необновляемыми. Но зато безопасники будут рады.
кстати, странно что для Михаила не стала откровением полная изменяемость ссылочных типов объявленных как final. Но наверное это потому оно точно так работает везде включая const'ы в ненаглядном тайпскрипте.
вроде не первое апреля сегодня, я даж побежал проверять, ну мало ли, уже ничему не удивляешься
кровавая история с десериализацией, возможно, связанна стем что final подразумевает однократную запись, т.е. она разрешена если ранее значение было не определено. Именно поэтому, мне кажется, он final а не const. Это сделано для возможности отложенной или ленивой инициализации
учитывая, что UI с эвентлупом в одном потоке, то вполне может быть
интересно, что он не приводя детальных метрик все таки сделал противоречащий здравому смыслу вывод о более быстром относительно хипа нативном выделении памяти. Возможно он все таки использовал compile time массивы фиксированного размера в раст и динамические в джаве? Вообще, это похоже на проекционное мнение про "закостеленый" ооп дизайн супротив "прогрессивного" процедурного кода языка без классов. Или я просто :sarcasm там не разглядел?
возможно, никому кроме автора не интересно выполнять GPU задачи на CPU в "классической" библиотеке для рисования кнопачек, ну или и в самом деле .parallel() тут не к месту употреблен и нерфит перформанс в разделении огромной динамической коллекции с неконстантной скоростью доступа. А какие потоки там были использованы, может все считалось на одном ядре виртуальными? А может jdk в макоси на проприетарном арм в simd что-то делает не совсем оптимально? Если бы мы это знали, но мы этого не знаем.. Поэтому психически здоровые люди проверяют на разных платформах/библиотеках эквивалентный код, а не вот это вот все. Ну или они доводят расследование до конца показывая откуда велось нападение. Неужели было настолько стыдно показать код на раст?
А чего не поддержали внедрение через сеттер? Через конструктор же как раз для тестирования не очень удобно
было бы здорово если бы Amplicode Designer или Docker Compose Designer умели строить управляемые диаграммки из ямлов как в n8n или bpmn
добро напомню, что джава была создана чтобы разработчикам не приходилось думать о выделениях памяти и подсчете ссылок