دستور المِلكية
لغةٌ كاملة تُشتقّ من بديهيتين. لا حفظ قواعد — اشتقاقٌ من الجذور، لغزٌ قبل كل حل، وبناءٌ من الصفر حتى unsafe وasync.
قوانين الدراسة
- اللغز قبل الحل، دائمًا. كل درس يبدأ بمشكلة مستفزّة. حاول قبل أن تقرأ الشرح.
- لا حلول في هذا المنهج. الألغاز بلا إجابات مرفقة عمدًا — العَلَق جزء من التصميم.
- المترجم معلّمك الثاني. رسائل الخطأ في Rust مكتوبة كدروس — اقرأها كاملة.
- التقدّم بالإتقان لا بالإنهاء. الأقاليم تفترض بعضها بصرامة.
- اكتب كل كود بيدك. لا نسخ. أصابعك جزء من الذاكرة.
التجهيز
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup component add clippy rustfmt
cargo new playground && cd playground && cargo run
الخريطة
الإقليم 00
الهبوط
كوكب لغته من عائلة C، لكن فيزياءه معكوسة: كل شيء ثابت، وكل شيء له قيمة.
افتح ←
الإقليم 01
البديهية الأولى
في C كنتَ أنت الـ garbage collector. هنا ستُصمّم بنفسك النظام الذي يعفيك.
افتح ←
الإقليم 02
البديهية الثانية
القانون الذي يجعل صنفًا كاملًا من الـ bugs غير قابل للصياغة أصلًا.
افتح ←
الإقليم 03
الأنواع الجبرية
الـ discriminated unions التي عرفتها في TS — لكن هذه المرة لها عنوان في الذاكرة.
افتح ←
الإقليم 04
التجريد بلا ثمن
TS تمحو الأنواع وقت التشغيل. Rust ليس عندها وقت تشغيل تمحو فيه. فكيف إذًا؟
افتح ←
الإقليم 05
تسمية الزمن
الحرف 'a الذي يطاردك في الرسائل منذ الإقليم ٢ — له اسم، أبسط مما يبدو وأعمق مما يبدو.
افتح ←
الإقليم 06
خط الإنتاج
ثلاثية واحدة تتنكّر في ثلاثة أزياء.
افتح ←معلم: أداة بحث نصية
الإقليم 07
تليين القوانين
ماذا لو احتجت مالكَين؟ القوانين لا تنكسر — لكنها تعرف كيف تنتقل.
افتح ←معلم: بنية بيانات مستحيلة
الإقليم 08
تزامن بلا خوف
البديهيتان صُمّمتا لذاكرة خيط واحد. ثم اكتشف الجميع أنهما حلّتا مشكلة أكبر — مجانًا.
افتح ←
الإقليم 09
كسر الختم
كل الأمان الذي بنيتَه يقف فوق قلبٍ غير آمن. حان وقت النزول إليه.
افتح ←المعلم الأكبر: MyVec من الصفر
الإقليم 10
اللغة الثانية
كيف تحل C10K لغةٌ بلا runtime ولا GC ولا تخصيصات خفية؟
افتح ←الكابستون: خادم TCP متزامن