مرحبًا، أيها العالم

دعونا نبدأ بأبسط برنامج ممكن في Rust، وهو برنامج كلاسيكي لطباعة Hello World:

fn main() {
    println!("Hello 🌍!");
}

ما تراه:

  • يتم تعريف الدوال باستخدام fn.
  • يتم تحديد الكتل باستخدام الأقواس المعقوفة مثل C و C++.
  • دالة main هي نقطة الدخول للبرنامج.
  • Rust has hygienic macros, println! is an example of this.
  • سلاسل Rust مرمّزه بـ UTF-8 ويمكن أن تحتوي على أي حرف Unicode.
This slide should take about 5 minutes.

تحاول هذه الشريحة تجعل الطلاب مرتاحين مع كود Rust. سيرون الكثير منه خلال الأيام الأربعة القادمة لذا نبدأ بشيء صغير ومألوف.

نقاط رئيسية:

  • Rust يشبه إلى حد كبير اللغات الأخرى في تقليد C/C++/Java. إنه لغة imperative ولا تحاول إعادة اختراع الأشياء إلا إذا كان ذلك ضروريًا للغاية.

  • Rust حديثة وتدعم بشكل كامل أشياء مثل Unicode.

  • Rust يستخدم الماكروهات في الحالات التي تريد فيها الحصول على عدد متغير من الوسائط (لا يوجد overloading للدوال).

  • كون الماكروهات (macros) 'hygienic' يعني أنها لا تلتقط identifiers من scope الذي تُستخدم فيه عن طريق الخطأ. في الواقع، ماكروهات Rust (macros) هي فقط hygienic جزئيًا.

  • Rust متعدد الأنماط (multi-paradigm). على سبيل المثال، يحتوي على ميزات قوية لبرمجة الكائنات (object-oriented programming features)، وعلى الرغم من أنه ليس لغة وظيفية، إلا أنه يتضمن مجموعة من المفاهيم الوظيفية (functional concepts).