The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.50, opennews (?), 12-Фев-21, (0) [смотреть все]

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


266. "Выпуск языка программирования Rust 1.50"  +5 +/
Сообщение от Wilem82 (ok), 13-Фев-21, 20:40 
Асинк в расте решает две проблемы:

1. Позволяет описывать асинхронные задачи независимо от того, будут они все в одном треде выполняться или в нескольких. То есть даже если у тебя ровно один тред и больше ты создать не можешь, то ты всё равно можешь описывать асинхронные задачи.

2. Убирает callback-hell при написании асихнронного кода. Код выглядит как синхронный, что позволяет пользоваться обычными конструкциями языка типа for/while. Если непонятно о чём это - представь ситуацию, когда у тебя итератор возвращает футуру, а не готовый элемент и ты хочешь обрабатывать элементы который когда-нибудь будут вёрнуты футурой, последовательно.  Что бы вокруг такого написать цикл ты себе весь мозг сломаешь. А с растовским асинком такой проблемы нет.  В котлине эту же задачу решают корутины.

В общем, зачем это нужно становится понятно когда ты напишешь хотябы одно сетевое приложение в неблокирующем режиме IO, когда у тебя каждая сетевая операция - что на вход (http request к тебе пришёл), что на выход (http request ты послал куда-то) в ответ на read/write будет давать тебе не результат read/write, а колбек, и логику программы ты должен продолжить в этом колбеке, в результате у тебя весь код - это колбеки в колбеках в колбеках, что затрудняет и обработку ошибок (в Java по крайней мере), и control flow, и вообще кучу всего.  А async/await или корутины эту проблему решают.

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

367. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (-), 15-Фев-21, 16:55 
Это не reddit/rust, прекратите писать красивые комменты
Ответить | Правка | Наверх | Cообщить модератору

373. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Wilem82 (ok), 15-Фев-21, 21:51 
> Это не reddit/rust, прекратите писать красивые комменты

Согласен, для опеннета очень необычно. Как правило тут по делу процентов 5-10, а остальное - упражнения в бессмысленном остроумии и эмоциональных выбросах. Но как-то тухло - ни рыбо, ни мясо. То есть ни сатиры нормальной нет, ни полезных знаний. Увы.  Но, не беда! 5-10 процентов всё равно могут нормально друг с другом общаться и писать полезные вещи для читателей, которые никогда ничего не пишут (а таких много).

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

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

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




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

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