Rust في 2025: دليل شامل للمبتدئين من الصفر

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة: لماذا Rust هو خيار عام 2025

في عام 2025، تواصل Rust غزو قلوب المطورين حول العالم بثقة. وفقًا للاستطلاع السنوي لـ Stack Overflow، تم الاعتراف بـ Rust كلغة البرمجة الأكثر تفضيلاً للعام الثامن على التوالي. أبرز مزاياها هي أمان الذاكرة بدون جامع القمامة والأداء العالي للغاية، الذي ينافس C و C++. إذا كنت معتادًا على Python ولكنك ترغب في تعلم كتابة تطبيقات نظام سريعة وموثوقة، أو WebAssembly، أو حتى أنظمة تشغيل - فإن Rust ستكون خطوتك المثالية التالية.

في هذه المقالة، سنشرح من أين تبدأ تعلم Rust في عام 2025: كيفية تثبيت الأدوات، كتابة أول برنامج لك، وفهم المفاهيم الأساسية. هيا بنا!



1. تثبيت Rust والتعرف على Cargo

أول ما عليك فعله هو تثبيت المترجم rustc ومدير الحزم Cargo. في عام 2025، أصبحت العملية مبسطة للغاية.



التثبيت عبر rustup

الطريقة الرسمية والموصى بها هي استخدام أداة rustup. افتح الطرفية ونفذ الأمر:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

سيقدم البرنامج النصي الإعدادات الافتراضية - فقط اضغط على Enter. بعد التثبيت، أعد تشغيل الطرفية أو نفذ:

source $HOME/.cargo/env

تحقق من أن كل شيء يعمل:

rustc --versioncargo --version


البرنامج الأول: "Hello, world!"

لنقم بإنشاء مشروع جديد باستخدام Cargo:

cargo new hello_rustcd hello_rust

سينشئ Cargo هيكل الدلائل. افتح الملف src/main.rs - ستجد فيه قالبًا جاهزًا:

fn main() {    println!("Hello, world!");}

قم ببناء وتشغيل البرنامج بأمر واحد:

cargo run

سترى التحية المرجوة. تهانينا، لقد كتبت أول برنامج لك بلغة Rust!



2. أساسيات بناء جملة Rust: المتغيرات والأنواع والدوال

Rust هي لغة ذات كتابة ثابتة صارمة، لكن المترجم غالبًا ما يستنتج الأنواع بنفسه. دعنا نستعرض التركيبات الأساسية.



المتغيرات وعدم القابلية للتغيير

افتراضيًا، جميع المتغيرات في Rust غير قابلة للتغيير (immutable). هذه إحدى الميزات الرئيسية للغة التي تضمن الأمان.

fn main() {    let x = 5;          // متغير غير قابل للتغيير    // x = 6;           // خطأ! لا يمكن التغيير    let mut y = 10;     // متغير قابل للتغيير (mut)    y += 5;             // الآن y = 15    println!("x = {}, y = {}", x, y);}


أنواع البيانات

تدعم Rust الأنواع المألوفة: الأعداد الصحيحة (i32, u64)، الأعداد العائمة (f64)، المنطقية (bool)، الأحرف (char)، والسلاسل النصية (String, &str).

fn main() {    let a: i32 = -42;          // عدد صحيح بعلامة    let b: u8 = 255;           // عدد صحيح بدون علامة 8 بت    let c: f64 = 3.1415;       // double    let is_rust_cool = true;   // bool    let letter = 'R';          // char (4 بايت، Unicode)    let greeting = String::from("Привет, Rust!");    println!("{} {} {} {} {} {}", a, b, c, is_rust_cool, letter, greeting);}


الدوال

يتم تعريف الدوال باستخدام الكلمة المفتاحية fn. يُشار إلى نوع القيمة المُرجعة بعد السهم ->.

fn add(x: i32, y: i32) -> i32 {    x + y   // التعبير الأخير هو الإرجاع (بدون فاصلة منقوطة)}

fn main() { let sum = add(10, 20); println!("10 + 20 = {}", sum);}


3. المفهوم الأساسي: الملكية والاقتراض

الموضوع الأكثر تعقيدًا، ولكنه أيضًا الأكثر أهمية في Rust هو نظام الملكية (ownership). هو ما يضمن أمان الذاكرة بدون جامع القمامة.

المدونات

توصيات الكتب