Benefits of Rust

برخی از نقاط قوت منحصر به فرد زبان Rust:

  • Compile time memory safety - whole classes of memory bugs are prevented at compile time

    • هیچ متغیر مقدار‌دهی نشده‌ای (uninitialized) وجود ندارد.
    • هیچ آزادسازی دوباره‌ای وجود ندارد.
    • هیچ استفاده‌ای پس از آزادسازی وجود ندارد.
    • هیچ اشاره‌گر NULL وجود ندارد.
    • هیچ موتکس قفل شدهِ فراموش شده‌ای وجود ندارد.
    • هیچ وضعیت رقابتی (data races) بین رشته‌ها وجود ندارد.
    • تکرارکننده‌ها (iterators) هیچگاه نامعتبر نمی‌شوند..
  • No undefined runtime behavior - what a Rust statement does is never left unspecified

    • دسترسی به آرایه با بررسی محدوده چک می‌شود.
    • سرریز عدد صحیح تعریف شده است (پانیک یا wrap-around).
  • Modern language features - as expressive and ergonomic as higher-level languages

    • Enumها و تطابق الگوها.
    • جنریک‌ها.
    • FFI بدون سربار
    • انتزاع‌هایی بدون هزینه
    • خطاهای کامپایل عالیست.
    • مدیر وابستگی درون-ساختی
    • پشتیبانی درون-ساختی از تست نویسی
    • پشتیبانی عالی از LSP‌.
This slide should take about 3 minutes.

Do not spend much time here. All of these points will be covered in more depth later.

حتما از کلاس بپرسید که با چه زبان‌هایی تجربه دارند. بسته به پاسخ، می توانید ویژگی‌های مختلف Rust را برجسته کنید::

  • تجربه با C یا C++ : زبان Rust با استفاده از بررسی کننده قرض‌گیری (اشاره به مبحث قرض گرفتن یا borrow) ، یک سری کامل از خطاهای زمان اجرا را از بین می‌برد .t عملکردی مانند C و C++ را دارید اما مشکلات عدم ایمنی حافظه را ندارید. علاوه بر این، شما یک زبان مدرن با ساختارهایی مانند تطابق الگو و مدیریت وابستگی داخلی دریافت می‌کنید.

  • تجربه با Java، Go، Python، JavaScript…: شما همان ایمنی حافظه را مانند آن زبان‌ها دریافت می‌کنید، به علاوه یک احساس زبان سطح بالا مشابه. علاوه بر این، شما عملکرد سریع و قابل پیش‌بینی مانند C و C++ (بدون جمع‌آوری زباله) و همچنین دسترسی به سخت‌افزار سطح پایین (در صورت نیاز) دریافت می‌کنید.