Size: a a a

2020 February 15

SP

Stanislav Popov in rust_offtopic
надо запретить нестрогость вообще. это родит необходимость делать касты на каждый чих. а это решается только типами
источник

P

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

P

Pavel in rust_offtopic
Stanislav Popov
надо запретить нестрогость вообще. это родит необходимость делать касты на каждый чих. а это решается только типами
дело не в нестрогости, а в том, что операции с абсолютно одинаковыми именами делают абсолютно разные вещи
источник

P

Pavel in rust_offtopic
при том, что у этих вещей есть другие понятные имена
источник

λ

λоλторт in rust_offtopic
То есть 1 + '1' это конструкция, которую никто не ожидает встретить. Её главная проблема именно в том, что человек, который это видит понимает значение каждого символа по отдельности, но вот их сочетание вызывает у него фрустрацию
источник

SP

Stanislav Popov in rust_offtopic
потому что имя это не имя а имя+тип
источник

SP

Stanislav Popov in rust_offtopic
в линейной алгебре вот три умножения. и ничего, живем
источник

P

Pavel in rust_offtopic
λоλторт
То есть 1 + '1' это конструкция, которую никто не ожидает встретить. Её главная проблема именно в том, что человек, который это видит понимает значение каждого символа по отдельности, но вот их сочетание вызывает у него фрустрацию
да не ожидают, потому, что выглядеть она будет как 1 + a, например, или a + b
источник

SP

Stanislav Popov in rust_offtopic
проблема 1 + '1' в том что ты можешь месяцами не догадываться что у тебя строка. да именно
источник

SP

Stanislav Popov in rust_offtopic
но на этом то и работает динамика, это ключ к её "удобству"
источник

P

Pavel in rust_offtopic
Stanislav Popov
потому что имя это не имя а имя+тип
это называется "сигнатура"
источник

SP

Stanislav Popov in rust_offtopic
никто в динамике просто не сможет сделать
call(obj.to_path(), ololo.to_int()). они стараются все генерализировать чтобы было "красива"
источник

λ

λоλторт in rust_offtopic
Pavel
да не ожидают, потому, что выглядеть она будет как 1 + a, например, или a + b
Тут ещё хуже. В такой ситуации обычный человек даже подозревать не может, что a это строка. Тут есть иллюзия знания. Код, который создаёт такую иллюзию, говно по определению.
источник

P

Pavel in rust_offtopic
так вот, char + int, string + int, int + int это 3 разных операции и в действительности + применим только к одной из них, а две другие стоит называть иначе
источник

A

Aleksandr Khristenko in rust_offtopic
В той-же lua и php ты знаешь, что после + у тебя будет результат сложения. Вещи при необходимости будут преобразованы в чила и сложены.
А для конкатенации отдельный оператор.
И никакой боли.
А в жс поленились разделить эти 2 опреации, и семантика + определяется по операндам. А т.к. типчиков нет то все это становится ужаосом.
источник

P

Pavel in rust_offtopic
λоλторт
Тут ещё хуже. В такой ситуации обычный человек даже подозревать не может, что a это строка. Тут есть иллюзия знания. Код, который создаёт такую иллюзию, говно по определению.
именно в этом проблема
источник

SP

Stanislav Popov in rust_offtopic
два писателя на статике обсуждают как лучше сделать не имея типов )
источник

λ

λоλторт in rust_offtopic
Stanislav Popov
два писателя на статике обсуждают как лучше сделать не имея типов )
переписать на ЯП с типами
источник

λ

λоλторт in rust_offtopic
либо уволиться
источник

P

Pavel in rust_offtopic
из-за того, что у тебя есть куча перегрузок оператора — нельзя понять, какой это именно оператор, не глядя на типы
источник