مزیتهای زبان Rust
برخی از نقاط قوت منحصر به فرد زبان Rust:
-
ایمنی حافظه زمان کامپایل - کل کلاس های باگ حافظه در زمان کامپایل جلوگیری می شود
- هیچ متغیر مقداردهی نشدهای (
uninitialized
) وجود ندارد. - هیچ آزادسازی دوبارهای وجود ندارد.
- هیچ استفادهای پس از آزادسازی وجود ندارد.
- هیچ اشارهگر
NULL
وجود ندارد. - هیچ موتکس قفل شدهِ فراموش شدهای وجود ندارد.
- هیچ وضعیت رقابتی (
data races
) بین رشتهها وجود ندارد. - تکرارکنندهها (
iterators
) هیچگاه نامعتبر نمیشوند..
- هیچ متغیر مقداردهی نشدهای (
-
بدون رفتار زمان اجرا تعریف نشده - کاری که دستور Rust انجام می دهد هرگز نامشخص باقی نمی ماند
- دسترسی به آرایه با بررسی محدوده چک میشود.
- سرریز عدد صحیح تعریف شده است (پانیک یا
wrap-around
).
-
ویژگی های زبان مدرن - به اندازه زبان های سطح بالاتر گویا و ارگونومیک است
- Enumها و تطابق الگوها.
- جنریکها.
- FFI بدون سربار.
- انتزاعهایی بدون هزینه.
- خطاهای کامپایل عالیست.
- مدیر وابستگی درون-ساختی.
- پشتیبانی درون-ساختی از تست نویسی.
- پشتیبانی عالی از LSP.
وقت زیادی را اینجا صرف نکنید. تمام این نکات بعداً با عمق بیشتری پوشش داده خواهد شد.
حتما از کلاس بپرسید که با چه زبانهایی تجربه دارند. بسته به پاسخ، می توانید ویژگیهای مختلف Rust را برجسته کنید::
-
تجربه با C یا C++ : زبان Rust با استفاده از بررسی کننده قرضگیری (اشاره به مبحث قرض گرفتن یا
borrow
) ، یک سری کامل از خطاهای زمان اجرا را از بین میبرد .t عملکردی مانند C و C++ را دارید اما مشکلات عدم ایمنی حافظه را ندارید. علاوه بر این، شما یک زبان مدرن با ساختارهایی مانند تطابق الگو و مدیریت وابستگی داخلی دریافت میکنید. -
تجربه با Java، Go، Python، JavaScript...: شما همان ایمنی حافظه (memory safety ) را مانند آن زبانها دریافت میکنید، به علاوه یک احساس زبان سطح بالا مشابه را تجربه خواهید کرد. علاوه بر این، شما عملکرد سریع و قابل پیشبینی مانند C و C++ (بدون garbage collector) و همچنین دسترسی به سختافزار سطح پایین (در صورت نیاز) دریافت میکنید.