Переваги Rust

Деякі унікальні переваги Rust:

  • Безпека пам'яті під час компіляції - цілі класи помилок пам'яті запобігаються на етапі компіляції

    • Немає неініціалізованих змінних.
    • Ніяких подвійних звільнень.
    • Немає використання після звільнення.
    • Немає вказівників NULL.
    • Немає забутих заблокованих м'ютексів.
    • Немає перегонів даних між потоками.
    • Немає недійсності ітератора.
  • Ніякої невизначеної поведінки під час виконання - те, що робить оператор Rust, ніколи не залишається невизначеним

    • Доступ до масиву перевірено на межі.
    • Поведінка цілочисельного переповнення визначена (паніка або обертання).
  • Можливості сучасної мови - така ж виразна та ергономічна, як і мови вищих рівнів

    • Переліки та зіставлення шаблонів.
    • Узагальнені типи.
    • FFI без накладних витрат.
    • Абстракції без витрат.
    • Чудово деталізовані помилки компілятора.
    • Вбудований менеджер залежностей.
    • Вбудована підтримка тестування.
    • Чудова підтримка протоколу мовного сервера (LSP).
This slide should take about 3 minutes.

Не витрачайте тут багато часу. Всі ці пункти будуть розглянуті більш детально пізніше.

Обов’язково запитайте клас, з якими мовами вони мають досвід. Залежно від відповіді ви можете виділити різні особливості Rust:

  • Досвід роботи з C або C++: Rust усуває цілий клас помилок виконання за допомогою засобу перевірки запозичень. Ви отримуєте продуктивність, як у C і C++, але у вас немає проблем із небезпекою пам’яті. Крім того, ви отримуєте сучасну мову з такими конструкціями, як зіставлення шаблонів і вбудоване керування залежностями.

  • Досвід роботи з Java, Go, Python, JavaScript...: Ви отримуєте таку саму безпеку пам’яті, що й у цих мовах, а також подібне відчуття мови високого рівня. Крім того, ви отримуєте швидку та передбачувану продуктивність як C і C++ (без збиральника сміття), а також доступ низького рівня до апаратного забезпечення (якщо воно вам знадобиться)