The OpenNET Project / Index page

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



"Шестая версия патчей для ядра Linux с поддержкой языка Rust "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Шестая версия патчей для ядра Linux с поддержкой языка Rust " +/
Сообщение от Аноним (349), 10-Май-22, 02:23 
>Одновременно с этим ЛЮБАЯ программа на C - это просто функции и структуры.

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

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

Также и в Си присутствует бойлерплейт, который может быть выражен более компактно и вместе с тем расширяемо. Да, для использования подобных конструкций нужно потратить дополнительное время на обучение. Взамен получаешь современные возможности без накладных расходов и с большей безопасностью:
-- удобные параллельные итераторы
https://play.integer32.com/?version=nightly&mode=release&edi...
-- генераторы парсеров сопоставимые по скорости с написанными вручную, влезающие на один экран монитора
https://zsiciarz.github.io/24daysofrust/book/vol2/day11.html
-- Можно построить абстракцию над портом ввода-вывода, которая во время компиляции будет проверять попадаешь ли ты в диапазон разрешенных значений, и правильную ли маску используешь при обращении к регистру.
https://blog.auxon.io/2019/10/25/type-level-registers/

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Шестая версия патчей для ядра Linux с поддержкой языка Rust , opennews, 08-Май-22, 11:03  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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