Rust بدون حالة الهلع: هل يمكن لـ Rust استبدال C في برمجة أنظمة المستوى المنخفض؟

2025-02-03

تتناول هذه المقالة إمكانية استخدام Rust بدلاً من C في برمجة أنظمة المستوى المنخفض، مع التركيز بشكل خاص على مكتبة Protocol Buffers المسماة upb. شك الكاتب في البداية في قدرة Rust على منافسة C من حيث الأداء وحجم الكود، لكنه اكتشف تقنية تُسمى "Rust بدون حالة الهلع". وهذا يعني تجنب استخدام `panic!()`. تتعمق المقالة في مبادئ ومزايا وتحديات Rust بدون حالة الهلع، بما في ذلك حجم الكود، والخروج غير القابل للاسترداد، وزيادة التكلفة أثناء وقت التشغيل. توضح المقالة كيفية كتابة كود Rust بدون حالة الهلع باستخدام تقنيات مثل الاستفادة من مكتبة libc، وخيارات التحسين، و `std::hint::assert_unchecked`، مع التأكيد على الاحتفاظ بعمليات التحقق من تجاوز الحد الأقصى في وضع التصحيح للتحقق من الاتساق الإضافي. على الرغم من أن هذه التقنية تتطلب جهدًا دقيقًا وقد تتطلب تجنب معظم المكتبة القياسية، إلا أنها تعد بتقديم أداء وحجم كود مكتبة C مع الحفاظ على ضمانات أمان Rust.

التطوير برمجة أنظمة