أعلنت EVE Online بدء ترقيتها التاريخية من Stackless Python 2.7 إلى Python 3، بمعالجة 2.4 مليون سطر برمجي و20,000 حالة اختلاف، مما يقدم نموذجًا لإدارة ترقيات الأنظمة القديمة في المؤسسات.

2 دقيقة قراءة

EVE Online يبدأ ترقية ضخمة إلى Python 3 بعد 16 عامًا على Stackless Python 2.7

نظرة عامة

أعلنت شركة CCP Games المطورة للعبة EVE Online عن بدء ترقية ضخمة لنظامها البرمجي من Python 2.7 إلى Python 3، بعد 16 عامًا من استخدام Stackless Python 2.7. تُعد هذه الترقية من أكبر عمليات الهجرة البرمجية في تاريخ الألعاب، حيث تشمل 2.4 مليون سطر برمجي.

تفاصيل الترقية

ستستخدم الشركة أداة futurize لتحويل الكود تلقائيًا، ثم تجري مراجعة يدوية دقيقة لـ 20,000 موضع تختلف فيه سلوكيات Python 2 عن Python 3. على سبيل المثال، في Python 2، ناتج 1/2 هو 0، بينما في Python 3 هو 0.5. هذه الاختلافات الدقيقة قد تسبب أخطاء خفية إذا لم تُعالج بعناية.

استبدال Stackless Python

لم تعلن الشركة بعد عن خطتها لاستبدال Stackless Python، لكن في مؤتمر العام الماضي قدمت ورقة بعنوان "Scheduling in Carbon: Leaving Stackless Python Behind" تصف كيف استبدلت Stackless في محرك Carbon الخاص بلعبتها الأحدث EVE Frontier، باستخدام مكتبة carbonengine/scheduler المفتوحة المصدر.

دروس لمشاريع MENA

يمكن للمؤسسات في منطقة الشرق الأوسط وشمال أفريقيا التي تدير أنظمة قديمة مبنية على Python 2 الاستفادة من هذه التجربة:

  • التخطيط المبكر: بدء الترقية قبل فوات الأوان.
  • الأتمتة مع المراجعة البشرية: استخدام أدوات مثل futurize مع فرق متخصصة.
  • توثيق الاختلافات: إنشاء قائمة بالحالات الحرجة.
  • الاستعانة بالمصادر المفتوحة: مثل مكتبة carbonengine/scheduler.

الخلاصة

ترقية EVE Online ليست مجرد خبر تقني، بل نموذج يُحتذى به في إدارة التعقيد البرمجي على نطاق واسع، مع دروس مباشرة قابلة للتطبيق في المؤسسات الحكومية والخاصة في المنطقة.


ملاحظة للمراجعة البشرية: تحقق من دقة المعلومات حول مكتبة carbonengine/scheduler وتاريخ الإعلان الرسمي.

أسئلة شائعة

ما هي أهمية ترقية EVE Online إلى Python 3؟

الترقية ضرورية لضمان استمرار الدعم الأمني والأداء، حيث أن Python 2.7 لم تعد مدعومة رسميًا، وتحديث 2.4 مليون سطر يتطلب تخطيطًا دقيقًا.

كيف تتعامل EVE Online مع الاختلافات بين Python 2 و Python 3؟

تستخدم أداة futurize لتحويل الكود تلقائيًا، ثم يراجع فريق متخصص حوالي 20,000 موضع يدويًا، مثل تغيير سلوك القسمة (1/2 = 0.5 بدلاً من 0).

ما هي الدروس التي يمكن أن تستفيد منها المؤسسات في منطقة MENA من هذه الترقية؟

أهم الدروس: البدء المبكر، استخدام أدوات آلية مع مراجعة بشرية، وتوثيق حالات الاختلاف، وتوفير خطة لاستبدال المكتبات القديمة.

المصدر: Simon Willison (LLM & tools)

محتوى بمساعدة الذكاء الاصطناعي، مراجع بشرياً.