The OpenNET Project / Index page

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



"Проект Tor представил реализацию на языке Rust, которая в будущем заменит вариант на Си"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Представлена реализация Tor на языке Rust, которая в будущем..." +/
Сообщение от n00by (ok), 12-Июл-21, 06:14 
Если сравнить последний вариант с типичными функциями на OCaml для обработки списков, то он бы выглядел как-то так:

let mean lst =
    match lst with
    | [] -> None
    | _  -> Some (let count = ref 0 in
           let sum = List.fold_left (fun x1 x2 -> count := !count + 1; x1 +. x2) 0. lst in
           sum /. float_of_int !count)

Вариант на C++, где по аналогии с Rust я накуралесил лямбду, сразу отправляется в мусор, как неведомая переусложнённая фигня. В обычном цикле со счётчиком тип count естественно становится целым и возникает вопрос о 0-м значении.

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

У меня пока один вопрос: кто додумался позиционировать Rust как замену императивному языку, и почему я до сих пор не увидел, что бы кто-то назвал его функциональным.

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

Оглавление
Проект Tor представил реализацию на языке Rust, которая в будущем заменит вариант на Си, opennews, 08-Июл-21, 22:01  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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