Size: a a a

2020 March 12

G

Gymmasssorla in rust_offtopic
Растовые типы не отловят *
источник

G

Gymmasssorla in rust_offtopic
Но иногда и могут, если правильно спроектировать, правда не всё
источник

G

Gymmasssorla in rust_offtopic
Например, "type state pattern"
источник

Т8

Т-34 85 in rust_offtopic
11 место, близко. Но, подозреваю, что jb отвечали скорее продвинутые программисты, из-за чего выборка не вполне репрезентативная
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
я чет внезапно осознал что тесты на расте не особо и нужны
А бизнес-логика? Руками тестить?
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Неправда. Ошибку в логике типы не отловят.
практически не ловлю ошибок в логике
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
практически не ловлю ошибок в логике
Тогда и на плюсах примерно тот же эффект будет

https://habr.com/en/post/490850/
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
практически не ловлю ошибок в логике
Вот вчера поймал ошибку в логике. Вызывалась внешняя команда. У меня был типизированный генератор команд, но при некоторых условиях комбинация флагов оказывалась некорректной.
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Вот вчера поймал ошибку в логике. Вызывалась внешняя команда. У меня был типизированный генератор команд, но при некоторых условиях комбинация флагов оказывалась некорректной.
так это типами решается же?
источник

EG

Emmanuel Goldstein in rust_offtopic
polunin.ai
так это типами решается же?
Как? Я проверяю, что тип каждого флага правильный, но я не могу проверить, что итоговая команда правильная.
источник

Т8

Т-34 85 in rust_offtopic
polunin.ai
так это типами решается же?
Telegram
Alexander Krivitskiy in rust_offtopic
Способов выстрелить в ногу +
Эргономика +

Билд системы в проде везде есть как и Репки с либами. Просто все свои костылят.
Собирается в одну кнопку, либы подкючается в пару строк. Системы довольно гибкие. Тебе помимо кода в больших проектах ещё всякие ресурсы нужно собирать/генерить да и код может быть не только сишным и плюсовым. А вот у раста с этим как раз проблемы: https://gist.github.com/rylev/0e3c3895dcb40b6a1c1cf8c427c01b5e

Про выразительность спорно.
Я на плюсах бойлерплейт код очень редко пишу. Наследование и вариадик темплейты помогают с ним справиться. На расте иногда приходится что-то городить чисто ради обхода борроу чекера. К примеру, хранить какие-то индексы вместо ссылок на эл-ы в векторе. Ошибок с памятью при таком подходе конечно не будет, а вот логических - запросто. В расте сложно выразимы селф реф стракты. Большие сложности с борроу чекером если связи между объектами представляют граф, а не дерево. Имхо, неудобный ансейф и ручное управление памятью.

Менее современный и система типов…
источник

Т8

Т-34 85 in rust_offtopic
Alexander Krivitskiy
Способов выстрелить в ногу +
Эргономика +

Билд системы в проде везде есть как и Репки с либами. Просто все свои костылят.
Собирается в одну кнопку, либы подкючается в пару строк. Системы довольно гибкие. Тебе помимо кода в больших проектах ещё всякие ресурсы нужно собирать/генерить да и код может быть не только сишным и плюсовым. А вот у раста с этим как раз проблемы: https://gist.github.com/rylev/0e3c3895dcb40b6a1c1cf8c427c01b5e

Про выразительность спорно.
Я на плюсах бойлерплейт код очень редко пишу. Наследование и вариадик темплейты помогают с ним справиться. На расте иногда приходится что-то городить чисто ради обхода борроу чекера. К примеру, хранить какие-то индексы вместо ссылок на эл-ы в векторе. Ошибок с памятью при таком подходе конечно не будет, а вот логических - запросто. В расте сложно выразимы селф реф стракты. Большие сложности с борроу чекером если связи между объектами представляют граф, а не дерево. Имхо, неудобный ансейф и ручное управление памятью.

Менее современный и система типов +

Тулинг гораздо богаче. Линтеры, санитайзеры, статические анализаторы, те же пакетные менеджеры, билд системы и идешки на любой вкус и цвет. Выбирай не хочу
А ты раст для пет-проектов используешь?
источник

EG

Emmanuel Goldstein in rust_offtopic
Ну, то есть, на идрисе, может, и решается
источник

p

polunin.ai in rust_offtopic
Emmanuel Goldstein
Как? Я проверяю, что тип каждого флага правильный, но я не могу проверить, что итоговая команда правильная.
ок. я не говорил что багов нет.
источник

Т8

Т-34 85 in rust_offtopic
Emmanuel Goldstein
Ну, то есть, на идрисе, может, и решается
А компилятор идриса готов для прода?
источник

EG

Emmanuel Goldstein in rust_offtopic
Т-34 85
А компилятор идриса готов для прода?
Я не знаю ни одного серьёзного проекта, написанного на идрисе
источник

EG

Emmanuel Goldstein in rust_offtopic
Сам компилятор, наверное, готов, почему нет
источник

DS

Doge Shibu in rust_offtopic
Emmanuel Goldstein
Сам компилятор, наверное, готов, почему нет
Так там бэкенд компилятора есть во что угодно, на самом деле.

Его можно хоть в го компилить
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Так там бэкенд компилятора есть во что угодно, на самом деле.

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

DS

Doge Shibu in rust_offtopic
Т-34 85
Если ничего не путаю, на хабре видел коммент, что с компиляторами не всё гладко. То ли баги, то ли реализовано далеко не всё что требуется
Тут надо понимать, что у идриса есть старый и новый компилятор уже для новой версии языка
источник