The OpenNET Project / Index page

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



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

Исходное сообщение
"В ядро Linux 6.8 намечено включение первого сетевого драйвер..."
Отправлено Аноним, 19-Дек-23 13:53 
> Так, видимо ты не понимаешь что такое defer.

Ты написал целую кучу про дефер, но так и не сказал это "hidden control flow" или нет.

> Конструкторы и деструкторы это ужасные костыли.

Ого! да у нас тут гуру, ты не стесняйся продолжай что еще является костылями?

> А что если ты не хочешь вставлять unlock() и тебе не нужно "очищать ресурс"?
> Например, зачем тебе обнулять память, если она будет перезаписана потом?

Такая необходимость возникает в очень редких задачах типа БД.
Для обычной разработки память должна обнуляться чтобы потому bufferoverflow тебе не прочитал пароль из строки рядом.
В Раст ты можешь всю функцию завернуть в unsafe, если уж сильно надо и по другому никак.

> Я опять же писал что Zig БЕЗОПАСНЕЕ чем Rust.

Очень голословное утверждение особенно на фоне того что разрабы ЗИГа сами пишут "not fully safe".
Зато капсом, так наверное более убедительно.

> Многие ошибки, если не большинство, в compile time невозможно отловить никогда.

Хм... ну так начнем с ошибок которые можно словить, а потом может что-то придумаем.

> В Zig есть все автоматические проверки безопасности. Выхода за границы массива, безопасность выравнивания типов данных (в Rust нет), разные аллокаторы (в Rust нет)...
> Выхода за границы массива

// Slices have bounds checking and are therefore protected
// against this kind of undefined behavior. This is one reason
// we prefer slices to pointers.
В Раст слайсы тоже есть. Более того By default, accesses to container types such as slices and vectors involve bounds checks in Rust.
Это еще раз показывают качество твоих знаний про Раст.

А что в Зиге с массивами?
https://ziglang.org/documentation/0.1.1/#undef-index-out-of-...
At runtime crashes with the message index out of bounds and a stack trace.
Т.е таки крешится... А ты рассказывал "как же в расте программа крешится? А не должна"
И в чем тут преимущество?

> разные аллокаторы (в Rust нет)

А насколько это необходимо? Насколько это влияет на безопасность?
Примеры пожалуйста.

Я уже молчу что в нем есть целая статья UB ziglang.org/documentation/0.1.1/#undefined-behavior
Где наверное больше половины заканчиваются
When a safety check fails, Zig crashes
А секции
Invalid Enum Cast TODO
Incorrect Pointer Alignment TODO
Memory TODO
Сразу видно уровень качества разработки, у нас будет креш по памяти, но ты об этом не узнаешь)

 

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



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

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