Size: a a a

2020 April 07

AZ

Alex Zhukovsky in rust_offtopic
но в жабе юзают эксепшны по каждому поводу
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
ну то есть ты предлагаешь использовать + как моноидную операцию. Ок, но это не всегда хорошо будет работать
я предлагаю использовать + там, где можно назвать операцию, что он исполняет, -- "add", ты говоришь про технические последствия, но это семантическая позиция. Это может быть просто хардкод в определении языка.
источник

AZ

Alex Zhukovsky in rust_offtopic
у меня вон сгенеренная по сваггеру либа на 404 кидает эксепшн "нотфаунд" вместо того чтобы нулл вернуть
источник

AZ

Alex Zhukovsky in rust_offtopic
я просто не люблю когда операторы разные вещи означают для разных типов. Типа » для чисел и для стримов
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
это известный факт
для меня был известный факт, что они не хуже, но проще обрабатываются в коде, но порядки, на которых они лучше -- не общеизвестный факт.
источник

AZ

Alex Zhukovsky in rust_offtopic
например если + оператор моноида, то у тебя должно выполняться (a+b) + c == a + (b+c)
источник

AZ

Alex Zhukovsky in rust_offtopic
а для даблов например это не работает
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
для меня был известный факт, что они не хуже, но проще обрабатываются в коде, но порядки, на которых они лучше -- не общеизвестный факт.
если эксепшны не выбрасываются, то трайктечи бесплатные - это известно
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
если эксепшны не выбрасываются, то трайктечи бесплатные - это известно
бесплатнее флагов, вот что важно
источник

AZ

Alex Zhukovsky in rust_offtopic
флаги не бесплатные
источник

AZ

Alex Zhukovsky in rust_offtopic
поэтому очевидно)
источник

AZ

Alex Zhukovsky in rust_offtopic
но достаточно дешевые чтобы про это не думать
источник

AZ

Alex Zhukovsky in rust_offtopic
и основывется на идее "эксепшны редко вылетают", когда на практике я видел по миллиону эксепшнов в секунду
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
а для даблов например это не работает
для плавающей запятой в общепринятой реализации, а ещё от флагов компилятора может зависить, тут всё очень сложно
источник

AZ

Alex Zhukovsky in rust_offtopic
только успевай гц запускать
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
но достаточно дешевые чтобы про это не думать
потому не на горячих участках обычно считаются как бесплатные
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
для плавающей запятой в общепринятой реализации, а ещё от флагов компилятора может зависить, тут всё очень сложно
ну вот поэтому им нужен какой-то свой оператор. Плюс я говорю:

MultipltyMonoid.+(10, 20) // 200
источник

AZ

Alex Zhukovsky in rust_offtopic
не уверен что это очевидно
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
не уверен что это очевидно
потому, что это точно не очевидно, он не выполняет операцию, которую можно назвать "add" над своими операндами 10 и 20.
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
потому, что это точно не очевидно, он не выполняет операцию, которую можно назвать "add" над своими операндами 10 и 20.
выполняет
источник