تمهيد

لم يكن الأمر دائمًا واضحًا، ولكن لغة برمجة Rust تعنّى بشكل أساسي بتمكينك: بغض النظر عن نوع الكود الذي تقوم بكتابته الان Rust تمكنك من الوصول إلى مزيد من الإمكانيات، والبرمجة بثقة في مجموعة أوسع من المجالات مما كنت تفعله من قبل.

لنأخذ، على سبيل المثال، العمل على مستوى الأنظمة، الذي يتعامل مع التفاصيل المنخفضة المستوى لإدارة الذاكرة، وتمثيل البيانات، والتزامن. في الغالب هذا المجال من البرمجة يتم النظر اليه علي انه غامض و مفهوم فقط من قبل قله قليلة من الذين امضوا السنوات اللازمة لتعلم كيفية تجنب الوقوع في شراكه. و حتي من يمارسونه يفعلون يفعلون ذلك بحذر، خوفًا من أن تكون أكوادهم بها ثغرات او عرضة للانهيار و التلف.

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

يمكن للمبرمجين الذين يعملون بالفعل مع اكواد منخفضة المستوي استخدام Rust لرفع سقف طموحاتهم. على سبيل المثال، إدخال التوازي في Rust عملية ذات مخاطر منخفضة نسبيًا: سيقوم المترجم بالتقاط الأخطاء التقليدية بالنسبة لك. ويمكنك الشروع بعمل استمثال للكود واثقا بأنك لن تقوم عن طريق الخطأ بإدخال انهيارات أو ثغرات.

لكن Rust ليست مقتصرة على برمجة الأنظمة على مستوى منخفض. إنها تعبيرية ومريحة بما يكفي لجعل تطبيقات واجهة سطر الأوامر، وسرفرات الويب، والعديد من أنواع الاكواد الأخرى ممتعة جدًا للكتابة — ستجد أمثلة بسيطة لكل منها لاحقًا في الكتاب. استخدام Rust يمكنك من بناء مهارات يمكن نقلها من مجال إلى آخر. يمكنك تعلم Rust من خلال كتابة تطبيق ويب، ثم تطبيق تلك المهارات نفسها لاستهداف Raspberry Pi الخاص بك

لكن Rust ليست مقتصرة على برمجة الأنظمة على مستوى منخفض. إنها تعبيرية ومريحة بما يكفي لجعل تطبيقات واجهة سطر الأوامر، وسرفرات الويب، والعديد من أنواع الاكواد الأخرى ممتعة جدًا للكتابة — ستجد أمثلة بسيطة لكل منها لاحقًا في الكتاب. استخدام Rust يمكنك من بناء مهارات يمكن نقلها من مجال إلى آخر. يمكنك تعلم Rust من خلال كتابة تطبيق ويب، ثم تطبيق تلك المهارات نفسها لاستهداف Raspberry Pi الخاص بك

هذا الكتاب يتبني كافة إمكانات Rust في تمكين مستخدميه. إنه كتاب سهل يساعدك علي رفع مستوى معرفتك بـ Rust وأيضًا توسيع نطاقك وثقتك كمبرمج بشكل عام. لذا انغمس في الكتاب، واستعد للتعلم — ومرحبًا بك في مجتمع Rust!

— نيكولاس ماتساكيس وآرون تورون