The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Уязвимости в ядре Linux, позволяющие поднять свои привилегии..."
Отправлено Аноним, 27-Мрт-24 23:59 
Ворвусь как я в тред, если никто не против)

> Если же конечный результат не соответствует ожиданиям - то это уже проблема конкретной реализации, а не стандарта. Т.е., иными словами - баг, или просто недоработка.

Можно ли считать, что "согласно стандарту C++ порядок вычисления аргументов функции не специфицирован" это баг, или просто недоработка?
Я беру одинаковый код, но на разных компиляторах я получаю разный результат.
Можно ли говорить о корректности кода и "стандартизованности" стандарта.

> Программист для того и существует, чтобы тратить своё время именно на такие вещи.

Но такие вещи как автоматизация позволяет тратить эти вещи на сложные задачи и не тратить на рутинные.
Например автотесты или санитайзеры упрощают жизнь, ускоряют разработку и уменьшают шанс ошибится.

> Всё куда проще. Я в своё время тоже напрыгался с подобными вещами.
> А потом просто выработал для себя несколько простых правил, которые позволяют подобных ошибок избегать. В частности например, "пишешь delete - дважды проверь, что именно". Пока что работает.

Судя по всему, у вас очень большой опыт разработки.
Но, к сожалению вас нельзя клонировать, скопировать и тд.
А для производства больших проектов нужны сотни таких как вы.

> Иными словами, смысла в Rust нет никакого на мой взгляд, потому что всё, что преподносится, как его преимущество, в С++ достигается применением определённого стиля программирования.

Да, но для этого нужно очень большая дисциплина (что в опенсорсном проекте вообще редкость).
Я видел как люди уходили из открытых проектов просто по причине "я не хочу ждать пока на пулл реквесте пробегут автотесты! я же профи, ты что не доверяешь мне?!"

> При этом всегда остаётся возможность поступить как-то иначе, если вдруг в этом возникнет необходимость.

Как и в расте.
Магическое слово unsafe открывает дверь в волшебный мир "делаю что хочу")

> А какая собственно разница, что там в инструкциях программы? Меня интересует, сколько и на что будет потрачено тактов процессора. Всё. Остальное - значения не имеет никакого.

Ну, меня тут еще интересуют другие вещи: среднее время работы до критичной ошибки, как быстро в коде разберется новый человек и тд.
Возможно это связано с тем что я работал в больших проектах с немаленькими командами.

> Нет, на такие вещи я не полагаюсь никогда. А вот на знание, как именно работает моя программа - да, полагаюсь. И не просто так, а протестировав предварительно все возможные варианты.

Предположу, что в некоторых проектах это работает. Особенно если весь код написал сам.
А в некоторых нет. Т.к ты можешь делать свой модуль, а в это время еще десять человек пилят пяток других.
И ты их код увидешь или на код ревью, или когда полезешь там что-то исправлять.

> В частности, я говорил, что если вы видите UB, то ничто вам не мешает его обойти.

Гораздо хуже, когда программист не видит UB)
Т.к запомнить все особенности всех компиляторов.
Можно конечно говорить "нам нужны люди с 20 годами опыта, вот тогда и приходите", но работает это плохо.

> Ну и для избежания дальнейшего непонимания - резюмирую свою позицию. Rust - это по факту чуть более высокий вид абстракции, что на мой взгляд не нужно совершенно. В ядре я имею ввиду (с чего  собственно весь разговор начался).

Но к сожалению в ядре у нас, не современный С++, с умными указателями и прочими благами цивилизации, а С11, причем на него они перешли только ЕМНИП в 22году.

> Для прикладных задач - да пожалуйста, пользуйтесь сколько угодно. Это ваше личное дело. Если получится что-то годное - лично я только за.

К сожалению он для совсем прикладных приложение не очень подходит, тк UI на нем писать непросто.

> Напрягает же что Rust пихают усиленно везде, где только можно и нельзя

Люди всегда мечтают от серебрянной пуле, даже если она немного ржавая)

> хотя  на поверку все его расписываемые достоинства оказываются не такими уж и достоинствами. Потому что всё это легко достигается в других ЯП просто применением соответствующего стиля программирования.

... для чего нужно воспитать целые поколения программистов, заставить их следовать стилю и надеяться что стиль подойдет под задачу.

> А вот недостатки вполне просматриваются - например отсутствие стандартизации или явно бОльшее количество инструкций как на этапе компиляции, так и на этапе исполнения.

По стравнению с ASM любые языки высокого уровня генерировали "лишние" инструкции.
Но на них почему-то перешли. Особенно если время компиляции стоит N денег, а 10 часов поиска EXC_BAD_ACCESS стоят M денег, и при этом N < M.

> Пропихивание же говорит, что это кому-то надо. Зачем? Ну... Мы сегодня живём при капитализме. Пропихивают, значит кто-то увидел свой личный денежный интерес

Напомню что СИ был разработан как потомок языка Би (который разработали AT&T, корпорация кстати) и был сделан в лаборатории Bell Labs (тоже корпорация) для абсолютно денежного интереса.
И в этом (для меня) нет ничего плохого.
Ада писалась по заказу Министерства обороны США. И плохим это ее не сделает

А раст для меня похож на токарник с ЧПУ, он умеет часть вещей делать автоматически, но если нужно - можно управлять им в ручном режиме.
И сейчас программист - это почти как слесарь или инжинер в 70-80 (куча народу работает над )
На дороге человек тоже может ехать аккуратно, но ему зачем-то вешают знаки, светофоры и даже ставят отбойники.
А техника безопасности, например электрики (которая ПУЭ) вообще написана кровью.
Так что я за вещи, которые позволят сделать код надежнее.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру