պլհկ
но на найтли можно было хуячить уже давно
Макс
ну так возьми futures-await
если я сейчас начну на нём писать, то потом этот код безболезненно переедет на стабильный раст, когда эта фича отстабилится? Или придётся переписывать, пока они в процессе стабилизации ещё много вещей поменяют?
Денис
юзать можно было и раньше, но теперь можно быть спокойным, что всё так и останется
պլհկ
ну не совсем так
Макс
Anton
ребят
Денис
ну мб чё-то и поменяют по мелочам, но концепция по крайней мере зафиксирована
Anton
чувак спрашивает про нативные async
Anton
а не макросы
պլհկ
сравните трейт асинк и фьючи 0.1
Anton
мол когда их ждать
Anton
мол если он ебанет futures-await
Anton
пройдет сколько то времени и его придется выкидывать
Макс
чувак спрашивает про нативные async
а, то есть то, что в RFC будет не так работать, как futures-await?
Макс
Anton
нет, там на уровне языка будет в коре
Anton
там хуй знает когда сделают, вообще в найтли думаю появится к лету чтото
Макс
ну ты про архитектуру ?
ну архитектура всего приложения целиком не так сильно зависит от того, какой именно синтаксис для async/await использовать. Но как минимум, после опыта с этой конструкцией в C#/JS/TS очень не хочется от неё отказываться, да
Anton
и потом еще полгода будут гонять и обкатывать до стабильной
պլհկ
короче
պլհկ
переписывать придется, но минорно
պլհկ
концептуально не поменяется
պլհկ
но детали - да
Маjко
к концу года будет
К концу 2017 уже появились константные генерики, даа
Loo
но это будет не скоро
Макс
переписывать придется, но минорно
Кстати, раз в расте такие умные макросы и кодогенерация, может там потом кто-то напишет умную тулзу чтобы автоматически с futures-await на нативные await переехать? :)
Денис
я конечно хз, но мне кажется, там переписывание ограничится ренеймом
Маjко
а их обещали?
Да, я помню в роадмапе видел, радовался сильно, летом
Маjко
Потом их убрали из impl-period
պլհկ
https://blog.rust-lang.org/2017/02/06/roadmap.html ?
Маjко
Я не пруфану, помню что где-то видел, но не помню где
Маjко
Может и в алкомечтах
պլհկ
ну вон импл трейт уже в следующем релизе
պլհկ
полегче будет
Макс
Так, повторю вопрос: если сейчас начинать писать приложение, где для бизнес-логики очень хорошо может пригодиться async/await (потому что много async io в БД, например), то какой подход лучше всего брать? Может, вовсе забыть пока об этой теме и по старинке синхронно блокировать тред на каждый реквест?
Макс
futures-await
Ну то есть несмотря на расхождение по вопросу о том, когда появятся нативные async/await, с тем, что такой future использовать норм и не стрёмно, возражений ни у кого по сути нет. Спасибо) (А то я испугался когда мне притоворечивые вещи разные люди начали говорить)
պլհկ
если че, щас подстава, токио юзает futures 0.1, а дефолтная дока - 0.2
պլհկ
можно напороться и полчаса втыкать в не то
Макс
если че, щас подстава, токио юзает futures 0.1, а дефолтная дока - 0.2
Опаньки. Интересно. А "дефолтная дока" чего?
պլհկ
сук бесит
պլհկ
https://docs.rs/futures/
պլհկ
պլհկ
Денис
Опаньки. Интересно. А "дефолтная дока" чего?
дефолтная — это которая по дефолту на docs.rs открывается
Макс
Про Tokio знаю только что это генератор тредов, даже базовый туториал не сделал. Альтернатив ему нету, да?
պլհկ
чо за генератор тредов
Денис
генератор тредов — это сильно
Денис
так ещё токио никто не унижал на моей памяти
պլհկ
это экзекутор для фьюч
Макс
Если я правильно понял, Tokio по сути занимается тем, что мапит один уровень асинхронной абстракции (futures) на более низкий (треды)?
Макс
При том что futures в rust не поддерживаются на уровне языка (до этого RFC), но после использования Tokio можно уже вместо тредов думать просто об обещаниях, не заморачиваясь на треды
Anton
бля посоны
Макс
(Мне просто важно понять, что я грокнул, для чего эта штука вообще нужна)
Anton
у меня нода дропается
Anton
после первой итерации
Anton
ебать
Anton
к такому жизнь меня не готовила
Anton
պլհկ
(Мне просто важно понять, что я грокнул, для чего эта штука вообще нужна)
Почитай tokio.rs, там довольно просто все расписано
Anton
посоны
Anton
штото не так
Anton
Builded now: 1 Builded now: 0 Node droped
Anton
Раст ведь очищает ноды которые больше не используются
Anton
пощиму моя нода умирает
Loo
пощиму моя нода умирает
она больше не используется
Loo