motkot
@motkot
Программирование C#.

Выбрать Rust или C++?

Давно была мечта написать свой движок и подобное :)
Подойдет ли Rust для таких вещей?

Удобство?
Скорость?
Сложность?
Поддержка?

С++ вроде как проверен временем, но не теряtт ли он свою популярность и надобность?
Плюс к этому, C++ поддерживает unreal и вроде как имеет нормальное ооп.
  • Вопрос задан
  • 391 просмотр
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Rust создавался при разработке браузера Mozilla чтобы закрыть конкретные дефекты С++. Системообразующие дефекты такие как NPE, Buffer Overflow e.t.c. Сегодня доля Rust файлов в сорцах мозиллы составляет 40% от общего количества файлов. Это - достаточно чтобы считать успехом мероприятие.

Нужно ли брать Rust при разработке игровых движков? ХЗ. Я-бы сказал что Rust важнее для тех приложений где важна инфо-безопасность. Я не спец в Rust, но я чисто из любопытва смотрел например как в Rust открыть файл (мне надо было парсить логи). Так вот открыв файл ты не просто не получаешь файловую переменную. Ты получаешь монаду Either (там кажется она называется Result<>) и вот пока ты ее паттерн матчингом не проверишь - никакого файла не получишь. Тоесть протокол работы с файлами строгий настолько, насколько это возможно. Срезать поворот - не получается. Это в сях можно взять fopen(..) и результат проe..ать.

Вобщем rust по уровню строгости напоминает... ну не знаю Haskell наверное. Хотя в Rust тоже можно творить безпредел - но по крайней мере ты будешь явно декларировать операции как usafe. Это слишком очевидно вобщем-то. Дело техники на code-review просто отделить опасное и принять решение стоит ли так кодить или нет.

Да и один финский парень обещал что в Rust скоро зайдет как второй язык разработки ядра Linux. Ждем пока.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Rust достаточно стабильный и популярный, чтобы начать с ним работать.
По геймдеву - в принципе все нужные низкоуровневые библиотеки для работы с графикой там уже есть. Да и движки свои понемногу да появляются.
Пример из тех, что сейчас активно развиваются - bevy, на нём уже можно делать не очень сложные игры, да и просто как образец он тоже интересный: во главе угла стоит модульность и ECS.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы