Size: a a a

2021 March 03

m

makoven in rust_offtopic
Roman Blog
нет, не в этом дело. жвм нужно компилировать, но она и сама компилятор. Поэтому ничего бы не изменило
Сложна
источник

MS

Mikola Summer Duck in rust_offtopic
Roman Blog
ну почему же. Есть вполне чётка градация что является С++, а что нет. Ну по крайней мере у меня и среди тех, кто этим занимается. Основной критерий - это какой у тебя полиморфизм
Ну, а какой полиморфизм по-настоящему шотландский?
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Ну, а какой полиморфизм по-настоящему шотландский?
Ну на самом деле он один единственный и есть только в С++, ну может там ещё какой-то огрызок есть в языках с завтипами. Ну или проще - статический. Есть полиморфизм динамический - это всё то, что принято называть полиморфизмом
источник

RB

Roman Blog in rust_offtopic
т.е. полиморфизм это отображение. Множество входящих типов во множество исходящих(ну мы предполагаем, что там разная реализация, которая как максимум генерирует разные типы). Есть то, что принято называть полиморфизмом, но оно не обладает этим свойством. Это просто жава-интерфейсы
источник

MS

Mikola Summer Duck in rust_offtopic
Кстати полиморфизм может быть только в коде, написанном в шотландской провинции Полиморф Волли. Во всех остальных случаях это игристый статический диспатч. 🤣
источник

RB

Roman Blog in rust_offtopic
мы описываем интерфейс, а далее используем его для полиморфной логики. По-сути мы сводим множество типов к одному подтипу и на самом деле эта маня-полиморфная функция не полиморфная, а мономорфная, но уже от подтипа
источник

MS

Mikola Summer Duck in rust_offtopic
Чем тогда динамическая диспетчеризация не полиморфизм?
источник

MD

Max De in rust_offtopic
Полиморфизм это условие
источник

MS

Mikola Summer Duck in rust_offtopic
Roman Blog
мы описываем интерфейс, а далее используем его для полиморфной логики. По-сути мы сводим множество типов к одному подтипу и на самом деле эта маня-полиморфная функция не полиморфная, а мономорфная, но уже от подтипа
Это ты описываешь мономорфизацию.
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Кстати полиморфизм может быть только в коде, написанном в шотландской провинции Полиморф Волли. Во всех остальных случаях это игристый статический диспатч. 🤣
ну статический дисптч - это не свойство системы типов. И не свойство типа полиморфизм. Его можно сделать где угодно. На этом раст-адепты часто горят.
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Это ты описываешь мономорфизацию.
нет, монорфизация - это другое. В случае с динамическим полиморфизмом - он сам по себе уже мономорфен и ему ненужна монорфизация. Но монорфизация основное требование для статического языка. Статический язык не может быть иметь другого полиморфизма, кроме как статического.
источник

MS

Mikola Summer Duck in rust_offtopic
Roman Blog
ну статический дисптч - это не свойство системы типов. И не свойство типа полиморфизм. Его можно сделать где угодно. На этом раст-адепты часто горят.
На чём.
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
На чём.
У них язык и система типов динамически-полиморфна. Но т.к. подобная система типов и язык не может быть статическим, а ллвм статический, то пришлось делать монорфизацию.
источник

RB

Roman Blog in rust_offtopic
т.е. лепить один вид полиморфизма поверх другого
источник

RB

Roman Blog in rust_offtopic
и это та причина, почему тормозит жава. И почему языку с подобным видом полиморфизма нужен гц. И почему в том же расте, да и где угодно - рядом с dyn всегда идёт box
источник

MS

Mikola Summer Duck in rust_offtopic
Roman Blog
У них язык и система типов динамически-полиморфна. Но т.к. подобная система типов и язык не может быть статическим, а ллвм статический, то пришлось делать монорфизацию.
Что? Нет.
источник

RB

Roman Blog in rust_offtopic
Mikola Summer Duck
Что? Нет.
да, есть возражения какие-то?
источник

m

makoven in rust_offtopic
Roman Blog
ну статический дисптч - это не свойство системы типов. И не свойство типа полиморфизм. Его можно сделать где угодно. На этом раст-адепты часто горят.
У них есть ковровая мономорфизация
источник

MS

Mikola Summer Duck in rust_offtopic
Если ты не используешь трейтобжекты — то у тебя честный статический полиморфизм. С генерацией отдельной функции на каждый набор типов.
источник

RB

Roman Blog in rust_offtopic
Roman Blog
и это та причина, почему тормозит жава. И почему языку с подобным видом полиморфизма нужен гц. И почему в том же расте, да и где угодно - рядом с dyn всегда идёт box
Поэтому в динамически-полиморфных языках и нужен гц. И хейтите вы все не гц, а именно что динамический полиморфизм. Ведь именно он тормозит.
источник