VoxelEngine-Cpp
VoxelEngine-Cpp copied to clipboard
Feature/111/smart pointers [WIP]
The main purpose of the PR is to replace raw pointers and manual memory management with modern C++ style and smart pointers.
It looks like this PR might be too big, so maybe we can split the ticket task in a few PR? It also might introduce lots of conflicts as it introduce changes in lots of files.
Знаешь, еще было бы лучше если этот проект был на расте написан. К сожалению это пока что только влажные фантазии.
Знаешь, еще было бы лучше если этот проект был на расте написан. К сожалению это пока что только влажные фантазии.
Ну честно, я не вижу никаких причин почему он должен писаться на расте, раст является более медленным языком с бОльшим количеством ограничений. Да он более безопасен по памяти, но так же он является менее популярным, под него сделано меньше библиотек и его знают (могут контрибьютить) меньше людей.
Я бы раст использовал будь это комерческим проектом, где важно, чтобы программа не падала у клиента, но при этом не сильно уступала С++ по скорости. В случае игр стабильность работы не так важна, ну вылетела игра, ну перезапустил, ничего страшного в этом нет. При этом С++ гораздо чаще используется в разработке игр, легче найти команду разработчиков, больше поддерживаемых библиотек, ну и если следовать рекомендациям С++, то никаких проблем с памятью не будет. Собственно я данный пул реквест открыл как раз чтобы приблизить проект к следованию рекомендациям С++.
Come on, мы тут память мегабайтами теряем, Rust не такой уж и плохой. И не такой уж он и медленный.
Знаешь, еще было бы лучше если этот проект был на расте написан. К сожалению это пока что только влажные фантазии.
Ну честно, я не вижу никаких причин почему он должен писаться на расте, раст является более медленным языком с бОльшим количеством ограничений. Да он более безопасен по памяти, но так же он является менее популярным, под него сделано меньше библиотек и его знают (могут контрибьютить) меньше людей.
Я бы раст использовал будь это комерческим проектом, где важно, чтобы программа не падала у клиента, но при этом не сильно уступала С++ по скорости. В случае игр стабильность работы не так важна, ну вылетела игра, ну перезапустил, ничего страшного в этом нет. При этом С++ гораздо чаще используется в разработке игр, легче найти команду разработчиков, больше поддерживаемых библиотек, ну и если следовать рекомендациям С++, то никаких проблем с памятью не будет. Собственно я данный пул реквест открыл как раз чтобы приблизить проект к следованию рекомендациям С++.
Так в этом и проблема: люди не хотят на расте потому, что другие люди не хотят на расте. Насчет следования рекомендациям C++ это понятно, но люди не роботы и могут совершать ошибки, которые приводят к UB. Насчет скорости не правда: он довольно быстрый, если ты умеешь хорошо кодить. Ограничения можно обойти используя unsafe { }, но важно оставлять коментарии почему это безопасно. (Комментарий по типу //SAFETY: bruh i think its safe не подойдет) Меня так же бесит когда вылетают игры, так что как помоему такое наплевательское отношение к своим игрокам это плохо.
Come on, мы тут память мегабайтами теряем, Rust не такой уж и плохой. И не такой уж он и медленный.
Кстати эти 70 мегабайт из LMPacker'а, всего-то перенести код из деструктора в clean
Кстати ребята, на заметку по поводу раста: "Чисто не там где убирают, а там где не мусорят". :nerd:
Come on, мы тут память мегабайтами теряем, Rust не такой уж и плохой. И не такой уж он и медленный.