
دمج Rust في CPython: المشروع يقدم خطة مرحلية ومعايير النجاح
قدم ديفيد هيويت في قمة لغة Python 2026 خطة مشروع Rust for CPython: نسخة Rust غير إلزامية من zlib في Python 3.16، ومعايير النجاح في PEP بنهاية 2026، وإلزامية Rust في أقرب وقت 2029.
قدّم ديفيد هيويت في قمة لغة Python 2026 خطة مشروع Rust for CPython: المراحل ومعايير النجاح. تمت مناقشة المشروع في PyCon US 2025، ويقود الفريق مطوري CPython الأساسيين كيريل بوديوبروغورا وإيما سميث.
يضم الفريق حوالي 60 مطوراً على قناة Discord، من بينهم مطورو CPython الأساسيون وممثلو مشروع Rust. يمتلك العديد منهم خبرة في دمج Rust في Android ونواة Linux.
لماذا Rust؟
عدد المشكلات المفتوحة بوسم "type-crash" في ازدياد: 82 حالة في 2021، و222 في 2025، والتوقع لعام 2026 حوالي 353. يُرجع أحد أسباب الازدياد إلى المحلل الجديد وJIT وfree-threading، بينما يُعتبر Rust حلاً محتملاً.

الهدف الأول: وحدة zlib
أول وحدة ستحصل على تنفيذ غير إلزامي بلغة Rust هي zlib. سيستخدم الفريق zlib-rs الذي يستخدمه Firefox وuv وCargo وهو أسرع من zlib. يعتمد نظام حزم Python على zlib على نطاق واسع، لذا ستتسارع تقريباً جميع عمليات pip install في Python 3.16.

حسب الخطة، سيكون النموذج الأولي لـ Rust API جاهزاً في صيف 2026، وسيُنشر PEP معايير النجاح بنهاية العام. سيحصل Python 3.16 (أكتوبر 2027) على نسخة Rust من zlib و Rust API الخاص؛ وسيدخل Python 3.17 (2028) Rust في وحدات io وjson وxml وmemoryview وparser أيضاً. من المخطط أن يصبح إلزامياً في Python 3.18 (2029) على أبعد تقدير.
المخاوف والمناقشة
وفقاً لهيويت، يمثل النشر تحدياً اجتماعياً أيضاً: معرفة Rust ليست شائعة بين المطورين الأساسيين، لذا تشمل الخطة أجزاء صغيرة من CPython، لأن "مليون سطر من كود C لا يمكن نقله دفعة واحدة". توسّع دعم المنصات، الذي كان الشاغل الرئيسي قبل عام.
في المناقشة، سأل لاري هاستينغز لماذا لا يكون المشروع "إعادة كتابة"؛ فأشار هيويت إلى أن RustPython موجود بالفعل. كما قال: "لا يجب إعادة كتابة CPython بلغة Rust فقط لأن Rust موجودة" وسيبقى CPython ثنائي اللغة لفترة طويلة. وصف بابلو غاليندو سالداغو جذب التبعيات من Cargo بأنه "showstopper" محتمل؛ فأجاب هيويت بأن التبعيات الخارجية ستُقلَّل إلى الحد الأدنى ولن يتطلب التجميع استخدام Cargo.
معايير النجاح
حتى في حالة JIT وfree-threading، تم تحديد المعايير مسبقاً، لذا وفقاً لهيويت، هناك شروط مشابهة مطلوبة: غالبية المطورين الأساسيين يجب أن يكونوا منفتحين تجاه Rust API ("منفتحين" وليس "عارفين")، وألا تتدهور الأداء بشكل ملحوظ، وأن يدعم Rust جميع المنصات من كل الفئات.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.