Переваги Rust
Деякі унікальні переваги Rust:
-
Безпека пам'яті під час компіляції - цілі класи помилок пам'яті запобігаються на етапі компіляції
- Немає неініціалізованих змінних.
- Ніяких подвійних звільнень.
- Немає використання після звільнення.
- Немає вказівників
NULL
. - Немає забутих заблокованих м'ютексів.
- Немає перегонів даних між потоками.
- Немає недійсності ітератора.
-
Ніякої невизначеної поведінки під час виконання - те, що робить оператор Rust, ніколи не залишається невизначеним
- Доступ до масиву перевірено на межі.
- Поведінка цілочисельного переповнення визначена (паніка або обертання).
-
Можливості сучасної мови - така ж виразна та ергономічна, як і мови вищих рівнів
- Переліки та зіставлення шаблонів.
- Узагальнені типи.
- FFI без накладних витрат.
- Абстракції без витрат.
- Чудово деталізовані помилки компілятора.
- Вбудований менеджер залежностей.
- Вбудована підтримка тестування.
- Чудова підтримка протоколу мовного сервера (LSP).
Не витрачайте тут багато часу. Всі ці пункти будуть розглянуті більш детально пізніше.
Обов’язково запитайте клас, з якими мовами вони мають досвід. Залежно від відповіді ви можете виділити різні особливості Rust:
-
Досвід роботи з C або C++: Rust усуває цілий клас помилок виконання за допомогою засобу перевірки запозичень. Ви отримуєте продуктивність, як у C і C++, але у вас немає проблем із небезпекою пам’яті. Крім того, ви отримуєте сучасну мову з такими конструкціями, як зіставлення шаблонів і вбудоване керування залежностями.
-
Досвід роботи з Java, Go, Python, JavaScript...: Ви отримуєте таку саму безпеку пам’яті, що й у цих мовах, а також подібне відчуття мови високого рівня. Крім того, ви отримуєте швидку та передбачувану продуктивність як C і C++ (без збиральника сміття), а також доступ низького рівня до апаратного забезпечення (якщо воно вам знадобиться)