Size: a a a

2020 March 29

Т8

Т-34 85 in rust_offtopic
спасибо
источник

AI

Alex Ilizarov in rust_offtopic
Emmanuel Goldstein
У них нет версионирования, нет репозитория пакетов и они устроены как поддиректории, благодаря чему ты подтягиваешь себе много ненужной хуйни
есть сайт с пакетами, есть go modules
источник

AI

Alex Ilizarov in rust_offtopic
не сказал бы что там прям так страшно
источник

AI

Alex Ilizarov in rust_offtopic
и чексуммы в go modules есть
источник

AK

Alexander Krivitskiy in rust_offtopic
Gymmasssorla
А почему не на Rust?
1. О раст тогда знали всего пара человек в компании. Но я евангелизировал как мог. Мне недавно рассказывали, что там уже собираются какой-то новый компонент на расте делать. На бэкенде, правда. До этого там джаву использовали.
2. Биндить все эти сишные либы к расту - довольно трудозатратная задача. А без биндов ансейфов было бы неприлично много. Основное преимущество плюсов в том, что можешь завернуть часто используемое апи в сейфовые по меркам плюсов врапперы, а редко используемое хреначить прямо по месту сишными вызовами.
3. Прошлая работа - чёртовы корейцы. Они любят выкатить совершенно новую спеку за две недели до релиза. Это у них норма. На моем проекте выкатили за 3 недели уже во время тест фазы новую спеку проекта по которой нужно было переходить на совершенно другой стек библиотек. Я вот до сих пор не уверен позволит ли Раст в таких ситуациях побырому накостылить, чтобы уложиться в сроки.

На новой работе Раст не протащить, потому что весь юзерспейс уже на плюсах. У центральных компонентов плюсовое апи. Только в 10 компонентах, что у меня сейчас скачаны на ноут суммарно 2 ляма строк. А их в прошивке около сотни где-то. Не перепишешь). Да и весь IPC завязан на сраный thrift(генерит плюсовые интерфейсы), так что даже сбоку Раст не присунуть.
источник

Т8

Т-34 85 in rust_offtopic
Alexander Krivitskiy
1. О раст тогда знали всего пара человек в компании. Но я евангелизировал как мог. Мне недавно рассказывали, что там уже собираются какой-то новый компонент на расте делать. На бэкенде, правда. До этого там джаву использовали.
2. Биндить все эти сишные либы к расту - довольно трудозатратная задача. А без биндов ансейфов было бы неприлично много. Основное преимущество плюсов в том, что можешь завернуть часто используемое апи в сейфовые по меркам плюсов врапперы, а редко используемое хреначить прямо по месту сишными вызовами.
3. Прошлая работа - чёртовы корейцы. Они любят выкатить совершенно новую спеку за две недели до релиза. Это у них норма. На моем проекте выкатили за 3 недели уже во время тест фазы новую спеку проекта по которой нужно было переходить на совершенно другой стек библиотек. Я вот до сих пор не уверен позволит ли Раст в таких ситуациях побырому накостылить, чтобы уложиться в сроки.

На новой работе Раст не протащить, потому что весь юзерспейс уже на плюсах. У центральных компонентов плюсовое апи. Только в 10 компонентах, что у меня сейчас скачаны на ноут суммарно 2 ляма строк. А их в прошивке около сотни где-то. Не перепишешь). Да и весь IPC завязан на сраный thrift(генерит плюсовые интерфейсы), так что даже сбоку Раст не присунуть.
2. То есть, проблема в том, что в C++ ты можешь не враппить, а напрямую юзать, а в Rust пришлось бы плодить unsafe блоки для этого? В остальном unsafe почти не нужен?
источник

AI

Alex Ilizarov in rust_offtopic
Alexander Krivitskiy
1. О раст тогда знали всего пара человек в компании. Но я евангелизировал как мог. Мне недавно рассказывали, что там уже собираются какой-то новый компонент на расте делать. На бэкенде, правда. До этого там джаву использовали.
2. Биндить все эти сишные либы к расту - довольно трудозатратная задача. А без биндов ансейфов было бы неприлично много. Основное преимущество плюсов в том, что можешь завернуть часто используемое апи в сейфовые по меркам плюсов врапперы, а редко используемое хреначить прямо по месту сишными вызовами.
3. Прошлая работа - чёртовы корейцы. Они любят выкатить совершенно новую спеку за две недели до релиза. Это у них норма. На моем проекте выкатили за 3 недели уже во время тест фазы новую спеку проекта по которой нужно было переходить на совершенно другой стек библиотек. Я вот до сих пор не уверен позволит ли Раст в таких ситуациях побырому накостылить, чтобы уложиться в сроки.

На новой работе Раст не протащить, потому что весь юзерспейс уже на плюсах. У центральных компонентов плюсовое апи. Только в 10 компонентах, что у меня сейчас скачаны на ноут суммарно 2 ляма строк. А их в прошивке около сотни где-то. Не перепишешь). Да и весь IPC завязан на сраный thrift(генерит плюсовые интерфейсы), так что даже сбоку Раст не присунуть.
че думаешь о https://github.com/dtolnay/cxx  ?
источник

EG

Emmanuel Goldstein in rust_offtopic
Нельзя автоматически генерировать safe-биндинги
источник

AI

Alex Ilizarov in rust_offtopic
Emmanuel Goldstein
Нельзя автоматически генерировать safe-биндинги
makes sense
источник

AK

Alexander Krivitskiy in rust_offtopic
Т-34 85
2. То есть, проблема в том, что в C++ ты можешь не враппить, а напрямую юзать, а в Rust пришлось бы плодить unsafe блоки для этого? В остальном unsafe почти не нужен?
Основная проблема - в расте с сишкой взаимодействовать напрямую неудобнее чем в плюсах.
источник

AK

Alexander Krivitskiy in rust_offtopic
Прикольно, надо будет проиграться
источник

Ct

Casual tears in rust_offtopic
Там issue #1 все еще не разрешили: https://github.com/dtolnay/cxx/issues/1
источник

AK

Alexander Krivitskiy in rust_offtopic
Т-34 85
2. То есть, проблема в том, что в C++ ты можешь не враппить, а напрямую юзать, а в Rust пришлось бы плодить unsafe блоки для этого? В остальном unsafe почти не нужен?
Ещё в том коде были самопальные сигналы. По сути векторы коллбеков, которые хранили мут ссылки на различные объекты. То что сигнал должен был помереть раньше объекта обеспечивал ты сам. Не знаю как бы мы на Раст подобное перегнали... Разве что с приседаниями с Pin ами и RefCell.
источник

A

Anton 📦 ᯌ in rust_offtopic
источник

NL

Nick Linker in rust_offtopic
Alexander Krivitskiy
1. О раст тогда знали всего пара человек в компании. Но я евангелизировал как мог. Мне недавно рассказывали, что там уже собираются какой-то новый компонент на расте делать. На бэкенде, правда. До этого там джаву использовали.
2. Биндить все эти сишные либы к расту - довольно трудозатратная задача. А без биндов ансейфов было бы неприлично много. Основное преимущество плюсов в том, что можешь завернуть часто используемое апи в сейфовые по меркам плюсов врапперы, а редко используемое хреначить прямо по месту сишными вызовами.
3. Прошлая работа - чёртовы корейцы. Они любят выкатить совершенно новую спеку за две недели до релиза. Это у них норма. На моем проекте выкатили за 3 недели уже во время тест фазы новую спеку проекта по которой нужно было переходить на совершенно другой стек библиотек. Я вот до сих пор не уверен позволит ли Раст в таких ситуациях побырому накостылить, чтобы уложиться в сроки.

На новой работе Раст не протащить, потому что весь юзерспейс уже на плюсах. У центральных компонентов плюсовое апи. Только в 10 компонентах, что у меня сейчас скачаны на ноут суммарно 2 ляма строк. А их в прошивке около сотни где-то. Не перепишешь). Да и весь IPC завязан на сраный thrift(генерит плюсовые интерфейсы), так что даже сбоку Раст не присунуть.
Маленькое замечание: thrift реализован и для rust, но я согласен, твой случай довольно трудный для закатывания rust-а.
источник

AK

Alexander Krivitskiy in rust_offtopic
Nick Linker
Маленькое замечание: thrift реализован и для rust, но я согласен, твой случай довольно трудный для закатывания rust-а.
О, его и для раста сделали? Я надеялся, что он уже канул в небытие.
источник

NL

Nick Linker in rust_offtopic
Alexander Krivitskiy
О, его и для раста сделали? Я надеялся, что он уже канул в небытие.
Ну он почти не развивается (потому что закончен по большому счёту), но код актуален, есть рабочие проекты с использованием thrift.
https://crates.io/crates/thrift
источник

NL

Nick Linker in rust_offtopic
Вообще велось много холиваров по поводу thrift vs protocol-buffers vs msg-pack vs ... там много чего ещё, и в принципе thrift нормальный протокол, достаточно фичастый, достаточно быстрый, реализован для всего от хаскеля до похапе, вполне неплохая рабочая лошадка.
источник

NL

Nick Linker in rust_offtopic
Помните, здесь когда-то был холивар об Arc vs сборщик мусора
Внезапно, он тоже возник в Радиоте (когда они выход новой версии свифта обсуждали):
https://radio-t.com/p/2020/03/28/podcast-695/
Перемотать на 01:28:45
источник

AK

Alexander Krivitskiy in rust_offtopic
Nick Linker
Вообще велось много холиваров по поводу thrift vs protocol-buffers vs msg-pack vs ... там много чего ещё, и в принципе thrift нормальный протокол, достаточно фичастый, достаточно быстрый, реализован для всего от хаскеля до похапе, вполне неплохая рабочая лошадка.
Я на прошлой работе такую конфетку над дбасом сделал... Мммм... Никаких статических гарантий, но как же просто было изменять интерфейсы, и добавлять новые компоненты. Ещё бы немного вложился, и можно было бы на лету динамически встраивать новый компонент в существующую коммуникацию. Жаль, что с собой унести не вышло :(
источник