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

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

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

ابدأ الدورة

مقدمة: لماذا Rust هي لغة المستقبل في عام 2025



لقد تم الاعتراف بـ Rust لعدة سنوات متتالية كأكثر لغة برمجة محبوبة وفقًا لاستطلاعات مطوري Stack Overflow. في عام 2025، تواصل اكتسابها للشعبية، خاصة في البرمجة النظامية، وتطوير الويب، وسلسلة الكتل (blockchain)، والأنظمة المدمجة (embedded systems). ولكن من أين يبدأ المبتدئ؟ في هذه المقالة، سنشرح كيفية تثبيت Rust، وكتابة أول برنامج، وفهم المفاهيم الأساسية للغة.



تجمع Rust بين أداء C/C++ وأمان الذاكرة الذي يتم التحقق منه في مرحلة الترجمة (compilation). هذا يعني أنك ستتجنب العديد من أخطاء وقت التشغيل (runtime errors) الشائعة في اللغات الأخرى. إذا كنت قادمًا من Python، فستواجه منحنى تعلم حادًا، لكن النتيجة تستحق العناء.



1. تثبيت Rust وإعداد البيئة في عام 2025



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



التثبيت عبر rustup



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



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


بعد التثبيت، أعد تشغيل الطرفية أو نفذ:



source $HOME/.cargo/env


تحقق من التثبيت:



rustc --versioncargo --version


يجب أن ترى شيئًا مثل:



rustc 1.78.0 (2024-12-15)cargo 1.78.0 (2024-12-15)


بيئة التطوير



للعمل المريح، أوصي باستخدام:

  • VS Code مع إضافة rust-analyzer — للإكمال التلقائي، وإبراز الأخطاء، وإعادة الهيكلة (refactoring).
  • IntelliJ IDEA مع إضافة Rust — لدعم كامل للمشاريع الكبيرة.
  • Helix أو Neovim — لعشاق الطرفية.


2. بناء جملة Rust: الخطوات الأولى وأمثلة الكود



Rust هي لغة ذات كتابة ثابتة صارمة (strict static typing)، ولكن مع استنتاج قوي للأنواع (type inference). سنشرح الهياكل الأساسية.



إنشاء مشروع جديد



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



cargo new hello_rustcd hello_rust


افتح الملف src/main.rs. سترى:



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


شغّل البرنامج:



cargo run


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



افتراضيًا، جميع المتغيرات في Rust غير قابلة للتغيير (immutable). هذا مفهوم أساسي للأمان.



let x = 5; // غير قابل للتغيير// x = 6; // خطأ!

let mut y = 10; // قابل للتغييرy = 15; // صحيح


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



تدعم Rust كلاً من الأنواع العددية (scalar) والمركبة (compound).



// الأنواع العدديةlet integer: i32 = 42;let float: f64 = 3.14;let boolean: bool = true;let character: char = 'R';

// الأنواع المركبةlet tuple: (i32, f64, char) = (500, 6.4, 'R');let array: [i32; 3] = [1, 2, 3];


الدوال



تُعلن الدوال باستخدام fn. تُحدد القيمة المُرجعة بعد ->.



fn add(a: i32, b: i32) -> i32 {    a + b // التعبير الأخير هو القيمة المُرجعة}

fn main() { let result = add(5, 7); println!("5 + 7 = {}", result);}


هياكل التحكم



let number = 6;

if number % 2 == 0 { println!("زوجي");} else { println!("فردي");}

// الحلقاتfor i in 0..5 { println!("i = {}", i);}

let mut counter = 0;while counter < 3 { println!("counter = {}", counter); counter += 1;}


3. المفاهيم الأساسية: الملكية (ownership)، الاقتراض (borrowing)، وأوقات الحياة (lifetimes)



أصعب شيء للمبتدئين هو نظام الملكية (ownership). يضمن أمان الذاكرة بدون وجود جامع للقمامة (garbage collector).



الملكية (Ownership)



كل

المدونات

توصيات الكتب