Вот тут хорошо про философию rust - rust делает так, чтобы было сложно написать программу неправильно. 1. Алгебраические типы данных и паттерн матчинг - дают очень структурированный control flow. 2. Типизированная обработка ошибок вместо исключений - намного меньше шанс оставить систему в невалидном состоянии. 3. Типизированный option - который нельзя не проверить на наличие значения. 4. Move семантика, при которой компилятор запрещает обратиться к переменной, после того, как ее значение перемещено. 5. Выражение состояний системы через типы.

В результате, в сравнении с большинством других языков: 1. Если код скомпилироввался - он почти гарантированно делает то, что задумано. 2. Если нужен рефакторинг, он как правило проходит существенно легче и безопаснее.

#rust