Size: a a a

2020 January 17

A

Agrailag in rust_offtopic
Антон ⚙️
Клабник давно не в соретим
А на сайте висит там вместе с эшли
источник

G

Gymmasssorla in rust_offtopic
Nikita Nazarenko
Как бы так сказать, я не говорю про конкретно tokio, я скорее про общее впечатление от того что приходится делать чтобы что-то написать.

например хотим мы вебсокеты. Понятное желание, идём на crates/io и смотрим что есть, есть ws который за собой тащит токио. Стопэ пацантрэ, я не просил мне никакого рантайма, мне надо обёртку над сокетом в которую я могу сказать ws://*** и получить сейт-мойшину, которую я уже сам буду read и write. Но нет, для этого надо искать невнятное нечто от кого-то там на второй странице поиска.

Ладно, пробуем открыть сокет. В std он будет блокирующий без уариантов. Чтобы получить варианты надо что? правильно, пойти на crates.io и там взять mio, который обёртка над этими самыми poll/select. Обёрточка кстати тоже той ещё дурацкости. А уж если unix сокет нужен, то тут пацан сорян, мы тебе не поможем, мы ж себе не враги такое делать. вон тебе обёртка над open как-нибудь сам справься, а?

вздыхаем и пробуем скрестить ужа с ежом, послушать udp сокет обработать то что оттуда пришло и впилить в вебсокет. И тут понимаем что асинки тут нахер не упёрлись от слова вообще, но с помощью имеющихся абсракций сделать конечный автомат на non-block read, ну вот как-то больно. Сильно больнее чем на практически любом другом языке который я знаю. Даже больнее чем на голом си, просто потому что ты пишешь ровно то же самое что на си, только в синтаксисе раста.

а на это всё кладём маленькую вишенку - зачастую E который тебе нахер не упало обрабатывать вот прям вот здесь, не пробросить, потому что E и E они разные и не сводятся к std:Error. А from не реализовать, потому что ни тот ни другой E не твои. И сидишь такой, в одном полужопии пики точёны, в другом хуи дрочёны
> а на это всё кладём маленькую вишенку - зачастую E который тебе нахер не упало обрабатывать вот прям вот здесь, не пробросить, потому что E и E они разные и не сводятся к std:Error. А from не реализовать, потому что ни тот ни другой E не твои. И сидишь такой, в одном полужопии пики точёны, в другом хуи дрочёны

Это да. Кстати, есть для этого макрос какой-нибудь, чтоб как в Java можно было писать throws AException, BException и не терять типизацию ошибок, как в failure?
источник

А⚙

Антон ⚙️ in rust_offtopic
Gymmasssorla
Почему?
А как ты себе это представляешь?
источник

NN

Nikita Nazarenko in rust_offtopic
Gymmasssorla
Он в std есть, блокирующий. Тебе нужен неблокирующий unix domain socket?
мне бы non-block io который я могу использовать не оглядываясь на то что там под ним, сокет, файл, устройство, да хоть срань господня
источник

S

Safort in rust_offtopic
источник

EG

Emmanuel Goldstein in rust_offtopic
источник

AZ

Alex Zhukovsky in rust_offtopic
Nikita Nazarenko
Как бы так сказать, я не говорю про конкретно tokio, я скорее про общее впечатление от того что приходится делать чтобы что-то написать.

например хотим мы вебсокеты. Понятное желание, идём на crates/io и смотрим что есть, есть ws который за собой тащит токио. Стопэ пацантрэ, я не просил мне никакого рантайма, мне надо обёртку над сокетом в которую я могу сказать ws://*** и получить сейт-мойшину, которую я уже сам буду read и write. Но нет, для этого надо искать невнятное нечто от кого-то там на второй странице поиска.

Ладно, пробуем открыть сокет. В std он будет блокирующий без уариантов. Чтобы получить варианты надо что? правильно, пойти на crates.io и там взять mio, который обёртка над этими самыми poll/select. Обёрточка кстати тоже той ещё дурацкости. А уж если unix сокет нужен, то тут пацан сорян, мы тебе не поможем, мы ж себе не враги такое делать. вон тебе обёртка над open как-нибудь сам справься, а?

вздыхаем и пробуем скрестить ужа с ежом, послушать udp сокет обработать то что оттуда пришло и впилить в вебсокет. И тут понимаем что асинки тут нахер не упёрлись от слова вообще, но с помощью имеющихся абсракций сделать конечный автомат на non-block read, ну вот как-то больно. Сильно больнее чем на практически любом другом языке который я знаю. Даже больнее чем на голом си, просто потому что ты пишешь ровно то же самое что на си, только в синтаксисе раста.

а на это всё кладём маленькую вишенку - зачастую E который тебе нахер не упало обрабатывать вот прям вот здесь, не пробросить, потому что E и E они разные и не сводятся к std:Error. А from не реализовать, потому что ни тот ни другой E не твои. И сидишь такой, в одном полужопии пики точёны, в другом хуи дрочёны
любители писать на кроссплатформенном языке "в сырок линух сокет" должны страдать хз)
источник

G

Gymmasssorla in rust_offtopic
Nikita Nazarenko
мне бы non-block io который я могу использовать не оглядываясь на то что там под ним, сокет, файл, устройство, да хоть срань господня
Понимаю
источник

S

Safort in rust_offtopic
Окау((
источник

А⚙

Антон ⚙️ in rust_offtopic
Agrailag
А на сайте висит там вместе с эшли
В каком разделе? Он, ЕМНИП, сейчас документацией занимается
источник

KR

Kai Ren in rust_offtopic
Nikita Nazarenko
Как бы так сказать, я не говорю про конкретно tokio, я скорее про общее впечатление от того что приходится делать чтобы что-то написать.

например хотим мы вебсокеты. Понятное желание, идём на crates/io и смотрим что есть, есть ws который за собой тащит токио. Стопэ пацантрэ, я не просил мне никакого рантайма, мне надо обёртку над сокетом в которую я могу сказать ws://*** и получить сейт-мойшину, которую я уже сам буду read и write. Но нет, для этого надо искать невнятное нечто от кого-то там на второй странице поиска.

Ладно, пробуем открыть сокет. В std он будет блокирующий без уариантов. Чтобы получить варианты надо что? правильно, пойти на crates.io и там взять mio, который обёртка над этими самыми poll/select. Обёрточка кстати тоже той ещё дурацкости. А уж если unix сокет нужен, то тут пацан сорян, мы тебе не поможем, мы ж себе не враги такое делать. вон тебе обёртка над open как-нибудь сам справься, а?

вздыхаем и пробуем скрестить ужа с ежом, послушать udp сокет обработать то что оттуда пришло и впилить в вебсокет. И тут понимаем что асинки тут нахер не упёрлись от слова вообще, но с помощью имеющихся абсракций сделать конечный автомат на non-block read, ну вот как-то больно. Сильно больнее чем на практически любом другом языке который я знаю. Даже больнее чем на голом си, просто потому что ты пишешь ровно то же самое что на си, только в синтаксисе раста.

а на это всё кладём маленькую вишенку - зачастую E который тебе нахер не упало обрабатывать вот прям вот здесь, не пробросить, потому что E и E они разные и не сводятся к std:Error. А from не реализовать, потому что ни тот ни другой E не твои. И сидишь такой, в одном полужопии пики точёны, в другом хуи дрочёны
источник

AZ

Alex Zhukovsky in rust_offtopic
Антон ⚙️
Не, ну почему, есть же зиро-кост трейты. А ещё Rust — единственный язык с нормальными строками
ну строки да, ничо.

ЗИрокост это не свойство типов
источник

D

Dima in rust_offtopic
Nikita Nazarenko
мне бы non-block io который я могу использовать не оглядываясь на то что там под ним, сокет, файл, устройство, да хоть срань господня
io_uring и вперёд)
источник

NN

Nikita Nazarenko in rust_offtopic
когда там 1.0 вышел? с тех пор регулярно.
источник

EG

Emmanuel Goldstein in rust_offtopic
Alex Zhukovsky
любители писать на кроссплатформенном языке "в сырок линух сокет" должны страдать хз)
Любители использовать TCP, когда ты пишешь серверный код, запускающийся только под Unix, должны страдать, ХЗ.
источник

NN

Nikita Nazarenko in rust_offtopic
Dima
io_uring и вперёд)
там где софт будет крутиться, этого uring ещё нет
источник

AZ

Alex Zhukovsky in rust_offtopic
Бешеный Сапиенс
Да и писать микоосеовисы да ещё с ORM это имхо нефига не путь Rust или C++. Вот Игру, Базу данных, Браузер да ОС в конце концов. Это вот да.
в нашем случае нужен очень шустрый бекенд в который можно ходить по сети. Это не епархия раста?
источник

AZ

Alex Zhukovsky in rust_offtopic
Emmanuel Goldstein
Любители использовать TCP, когда ты пишешь серверный код, запускающийся только под Unix, должны страдать, ХЗ.
ноуп
источник

G

Gymmasssorla in rust_offtopic
Alex Zhukovsky
любители писать на кроссплатформенном языке "в сырок линух сокет" должны страдать хз)
Если язык кроссплатформенный, это ещё не значит, что ты обязан писать кроссплатформенно
источник

G

Gymmasssorla in rust_offtopic
+ Язык системный сам по себе
источник