The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.44, opennews (??), 05-Июн-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


120. "Выпуск языка программирования Rust 1.44"  +/
Сообщение от Аноним (120), 06-Июн-20, 16:16 
Срочно запишись на Stepik/Coursera какой-нибудь, квалификацию повышать. Сборщик мусора - это сущность в языках, где zero-cost abstractions времени компиляции нет и есть жирный т.н. "рантайм" языка. Всякая ссанина типа Java/C# с виртуальной машиной, функциональная продрись типа Haskell. GC работает с задержками, память освобождает недетерминирнованно, в итоге кэш-промахи на ровном месте из-за фрагментации кучи.
Rust является эволюцией идей С++. В C++ RAII - это "идиома", паттерн, эксплуатирующий правило языка, что для объекта на стеке, если он покидает скоуп, в котором был определён, вызывается деструктор.
Думаю, очевидно, что "применить паттерн" - это человеческий фактор, и это программисту нужно страдать фигнёй и писать unique_ptr/shared_ptr/weak_ptr. То есть, у плюсовика вполне остается возможность выразить некорректную семантику владения памятью и получить утечки, будь он хоть синьор с 10 годами стажа, просто потому что у него голова болела, например, и он был невнимателен.
В Rust же некорректная семантика владения памятью НЕВЫРАЗИМА в принципе через синтаксис языка, по крайней мере, пока не лезешь в unsafe.
Ответить | Правка | К родителю #79 | Наверх | Cообщить модератору

135. "Выпуск языка программирования Rust 1.44"  +/
Сообщение от Аноним (138), 06-Июн-20, 23:14 
Окей бро, чем Rust лучше D?
Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск языка программирования Rust 1.44"  +1 +/
Сообщение от Аноним (120), 07-Июн-20, 01:18 
Тем, что в D возможность выключить сборщик мусора чисто номинальная, если так сделаешь, то core библа языка будет течь - там все написано исходя из того, что память чистится внешней системой, считающей ссылки в рантайме. В Rust сборки мусора нет вообще, потому что язык сам по себе одна большая реализация RAII. Также в Rust механизм явных lifetime-ов и невероятно мощный borrow checker, который просто не позволит устроить гонку по данным или сослаться на переменную, которая уже почищена, и многое другое. Из проблем не сильно приятный синтаксис, к которому нужно привыкнуть, но синтаксис - дело второстепенное, главное механика, за ним стоящая.
Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск языка программирования Rust 1.44"  +/
Сообщение от Аноним (138), 08-Июн-20, 03:19 
Синтаксис дело второстепенное? Ты это Haskell скажи
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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