Информация об изменениях

Сообщение Re[11]: Оставаться в С++ или уходить? от 30.09.2019 10:16

Изменено 30.09.2019 10:16 lpd

Re[11]: Оставаться в С++ или уходить?
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>В манагед языках нормально, когда права владения объектом футболятся по всему приложению — GC разберется.


Ну может так проще реализовать логику типичной развесистой архитектуры enterprise, то есть это объективно удобно.

SVZ>А когда тот же приём начинают применять в С++, да еще и взаимные шаред поинтеры между объектами устанавливают, когда между ними можно либо выстроить отношения вледелец-подчиненный, либо завести отдельного арбитра для управления временем жизни, то вот и получаем косяки на ровном месте.

SVZ>Короче, С++ требует более вдумчивого проектирования. Ява с Шарпом прощают больше

Ну так это недостаток С++, который и ограничивает его область применения. Скорее всего, отсутствие сборки мусора — одна из основных причин, почему из бэкенда и вытеснили С++. Никто не хочет в большой программе при добавлении каждого нового указателя думать, а не получится ли кольцевая сылка. Зачем это?
Я не особенно опытный архитектор, но как-то писал сервер для мобильных клиентов на С++, и круговые ссылки там были(умные указатели, естественно, не использовал).
Язык должен позволять выразить любую архитектуру, причем простым и удобным образом. А не требовать от разработчиков соблюдать какие-то искуственные правила.
Re[11]: Оставаться в С++ или уходить?
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>В манагед языках нормально, когда права владения объектом футболятся по всему приложению — GC разберется.


Ну может так проще реализовать логику типичной развесистой архитектуры enterprise, то есть это объективно удобно.

SVZ>А когда тот же приём начинают применять в С++, да еще и взаимные шаред поинтеры между объектами устанавливают, когда между ними можно либо выстроить отношения вледелец-подчиненный, либо завести отдельного арбитра для управления временем жизни, то вот и получаем косяки на ровном месте.

SVZ>Короче, С++ требует более вдумчивого проектирования. Ява с Шарпом прощают больше

Ну так это недостаток С++, который и ограничивает его область применения. Скорее всего, отсутствие сборки мусора — одна из основных причин, почему из бэкенда и вытеснили С++. Никто не хочет в большой программе при добавлении каждого нового указателя думать, а не получится ли кольцевая сылка. Зачем это?
Я не особенно опытный архитектор, но как-то писал сервер для мобильных клиентов на С++, и круговые ссылки там были(умные указатели, естественно, не использовал).
Язык должен позволять выразить любую архитектуру, причем простым и удобным образом. А не требовать от разработчиков соблюдать какие-то искуственные правила, усложняя их жизнь разнообразием видов weak/shared/unique поинтеров.