Size: a a a

WebAssembly — русскоговорящее сообщество

2019 June 18

NK

ID:693357436 in WebAssembly — русскоговорящее сообщество
а что, в java платят за абстракции больше, чем в расте?
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Alexey F.
вообще, платить за абстракции (как в Java) - это бред какой-то. Подскажите, в чём rationale?
плата должна быть только когнитивная, но не физическая (для этого есть компилятор)
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ID:693357436
а что, в java платят за абстракции больше, чем в расте?
ну, там объект создаётся на каждый чих
источник

NK

ID:693357436 in WebAssembly — русскоговорящее сообщество
может класс?
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Alexey F.
ну, там объект создаётся на каждый чих
и объект оборачивается в другой. И всё это в рантайм попадает
источник

ВД

Виктор Дёмин in WebAssembly — русскоговорящее сообщество
Alexey F.
ну, там объект создаётся на каждый чих
screaming in oop
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ID:693357436
может класс?
класс - это синтаксическое средство для описания объекта (по факту)
источник

ВД

Виктор Дёмин in WebAssembly — русскоговорящее сообщество
а вообще я чет не помню чтобы оно так объектами раскидывалось
источник

NK

ID:693357436 in WebAssembly — русскоговорящее сообщество
Alexey F.
класс - это синтаксическое средство для описания объекта (по факту)
Ну тогда и в расте трейты - это синтаксическое средство для описания объекта. И одни трейты пихают в другие, и оборачивают третьими, и это все тоже попадает в рантайм
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ID:693357436
Ну тогда и в расте трейты - это синтаксическое средство для описания объекта. И одни трейты пихают в другие, и оборачивают третьими, и это все тоже попадает в рантайм
да, но в рантайм попадают только trait-object
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Alexey F.
да, но в рантайм попадают только trait-object
это big difference. Trait-object используется только когда без него не обойтись
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
что такое trait-object: Box<SomeTrait> . Всё остальное - на стеке. В этом и прелесть, собственно.
источник

NK

ID:693357436 in WebAssembly — русскоговорящее сообщество
а обычные трейты, значит, люди пишут просто так, чтобы их выбросить из рантайма?) И вообще это оффтоп
источник

NK

ID:693357436 in WebAssembly — русскоговорящее сообщество
рантайм и heap - это разные вещи
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ID:693357436
а обычные трейты, значит, люди пишут просто так, чтобы их выбросить из рантайма?) И вообще это оффтоп
trait и trait-object это две разные концепции
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Alexey F.
trait и trait-object это две разные концепции
объясню иначе: у тебя может быть программа, в которой используются трейты и при этом ничего не будет лежать в heap
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Alexey F.
объясню иначе: у тебя может быть программа, в которой используются трейты и при этом ничего не будет лежать в heap
в Java всё в heap, при компиляции ничего не выпиливается, только при JIT-компиляции (но тут я не специалист)
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Alexey F.
в Java всё в heap, при компиляции ничего не выпиливается, только при JIT-компиляции (но тут я не специалист)
В Rust за это овечают оптимизации в простанстве MIR я так понимаю?
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ID:414983998
В Rust за это овечают оптимизации в простанстве MIR я так понимаю?
тут @pepyakin пояснит, я могу ошибаться в деталях компиляции
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ID:414983998
В Rust за это овечают оптимизации в простанстве MIR я так понимаю?
вообще, в Расте всё очень явно. Пока ты явно не используешь Box<_> (или Arc<_> или другой смарт-поинтер) - всё на стеке держится. Тут нет никакой магии или эвристики )
источник