История изменений
Исправление zurg, (текущая версия) :
В Rust уже GC добавили? Или это язык с РУЧНЫМ управлением памятью?
в каком-то смысле да, только он компил тайм; основа управления памятью в расте - ситема типов (аффинная) + RAII, а смартпоинтеры так, по вкусу, и это всё вполне себе автоматика
Я просто не знаю что можно написать, не указав смартпоинтер, лафйтайм. Вот возьмем например программу есть есть граф данных, у каждой ноды свои данные, а могут быть и общие.
Такие «проблемы» только поначалу возникают, и скорее всего из-за нажитых в других языках привычек, если программист обучаем, то всё норм, и уж точно нет проблем с графами
Альтернатива, это постоянные копии.
Неа, альтернатива - правильно спроектированная архитектура, с которой большая часть программы(в смысле управления памятью) состоит из RAII, мувинга, ссылок, стандартных контейнеров и уж только потом смартпоинтеры refcellы, и специализированные самодельные контейнеры с ансейфом и указателями
Ты мне лучше покажи эти «нормальные программы»,
да любая из базовой инфраструктуры рачта, посмотрел сейчас ripgrep(даже на лоре хвалили), c десяток файлов рандомно протыкал ни одной структуры с лайфтаймом )
Рефкаунтеры тоже имеют свою цену.
Box тоже умный указатель, но его мувинг стоит ровно столько же копирование указателя/ссылки
Исходная версия zurg, :
В Rust уже GC добавили? Или это язык с РУЧНЫМ управлением памятью?
в каком-то смысле да, только он компил тайм; основа управления памятью в расте - ситема типов (аффинная) + RAII, а смартпоинтеры так, по вкусу, и это всё вполне себе автоматика
Я просто не знаю что можно написать, не указав смартпоинтер, лафйтайм. Вот возьмем например программу есть есть граф данных, у каждой ноды свои данные, а могут быть и общие.
Такие «проблемы» только поначалу возникают, и скорее всего из-за нажитых в других языках привычек, если программист обучаем, то всё норм, и уж точно нет проблем с графами
Альтернатива, это постоянные копии.
Неа, альтернатива - правильно спроектированная архитектура, с которой большая часть программы(в смысле управления памятью) состоит из RAII, мувинга, ссылок, стандартных контейнеров и уж только потом смартпоинтеры refcellы, и специализированные контейнеры с ансейфом и указателями
Ты мне лучше покажи эти «нормальные программы»,
да любая из базовой инфраструктуры рачта, посмотрел сейчас ripgrep(даже на лоре хвалили), c десяток файлов рандомно протыкал ни одной структуры с лайфтаймом )
Рефкаунтеры тоже имеют свою цену.
Box тоже умный указатель, но его мувинг стоит ровно столько же копирование указателя/ссылки