برمجياتقراءة دقيقتين

خطة إدخال Rust إلى CPython تبدأ بوحدة zlib في Python 3.16 ولا تصبح إلزامية قبل 2029

المغزى

القرار ليس اختيار لغة أفضل، بل مقايضة بين أمان الذاكرة وتنوع المترجمات التي تُبنى بها Python، وكلاهما يكشف أخطاء بطريقة مختلفة، وأكثر من يتأثر بها من يبني امتدادات C أو يعمل على منصات غير شائعة.

ارتفع عدد المشكلات المصنفة type-crash في CPython، أي أخطاء الانهيار الناتجة عن التعامل الخاطئ مع أنواع البيانات في الذاكرة، من 82 مشكلة في 2021 إلى 353 متوقعة في 2026. وهذا الرقم هو خلفية النقاش الذي شهده Language Summit هذا العام، ونشر فريق Python تقريره يوم 30 سبتمبر 2026.

عرض David Hewitt في القمة خطة لإدخال لغة Rust إلى CPython، وهي أبطأ بكثير مما قد يوحي به العنوان. فإصدار Python 3.16، المقرر في أكتوبر 2027، يحمل backend اختياريًا مكتوبًا بلغة Rust لوحدة zlib وحدها. ولن تصبح Rust شرطًا لبناء CPython قبل إصدار 3.18 في 2029.

واختيار zlib مقصود، فالأثر كبير والنطاق صغير. ويعتمد التطبيق على مكتبة zlib-rs، الأسرع من zlib وzlib-ng على منصات كثيرة.

وواجهت الخطة اعتراضات واضحة. فقد قال Pablo Galindo Salgado إن الاعتماد على حزم Cargo مشكلة كبيرة قد توقف المشروع، لأن CPython ينتقي بنفسه ما يضمه من كود خارجي، والعبء يقع على من يدير الإصدارات. وقال Larry Hastings إنه ليس متحمسًا لتعلم Rust كي يعمل على CPython.

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

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

المصادر

  1. مدونة Python: تقرير Language Summit 2026 عن Rust في CPython
  2. نقاش الـ pre-PEP على discuss.python.org
  3. مدونة Python: تحديث أبريل 2026 عن Rust في CPython
  4. مستودع zlib-rs
  5. PEP 11 عن المنصات المدعومة

من عدد الأحد 23 ربيع الآخر - 4 أكتوبر

أخبار ذات صلة

أخبار الأحد 23 ربيع الآخر - 4 أكتوبر