EVE Online เริ่มย้ายโค้ด 2.4 ล้านบรรทัดจาก Python 2.7 ไป Python 3 หลังใช้มา 16 ปี
The Move to Python 3 Begins
CCP Games ประกาศเริ่มโครงการย้ายโค้ดเบสของ EVE Online จาก Python 2.7 ไปยัง Python 3 ซึ่งเป็นงานที่ครอบคลุมโค้ด Python ราว 2.4 ล้านบรรทัดที่สะสมมา 23 ปี ประกาศระบุว่า "ทุกการกระโดดข้ามเกต ทุกคำสั่งซื้อในตลาด และทุกการรบของกองเรือ" ล้วนพึ่งพาโค้ดชุดนี้
คำถามที่ผู้อ่านทุกคนสงสัยคือทำไมถึงช้าขนาดนี้ Python 2.7 หมดอายุสนับสนุนตั้งแต่ปี 2020 แต่ EVE ยังอยู่กับมันมา 16 ปีนับจากปี 2010 คำตอบจากทีมพัฒนาตรงไปตรงมา: "มันเสถียรพอจนการย้ายครั้งใหญ่ที่มีความเสี่ยงสูงไม่เคยคุ้มค่าพอที่จะทำ จนกระทั่งตอนนี้"
ความคืบหน้าขั้นที่ 1 อยู่ในสภาพดี — 95.9% ของไฟล์ Python ราว 20,000 ไฟล์คอมไพล์ผ่านทั้งสองเวอร์ชันแล้ว เหลือบรรทัดที่ใช้ไวยากรณ์ที่ Python 3 ไม่รองรับอยู่ราว 3,300 บรรทัด แยกเป็น print statement แบบเก่าราว 1,500 บรรทัด, literal ตัวเลขแบบ "long" ราว 800 บรรทัด, exception clause ที่เลิกใช้แล้วราว 600 บรรทัด และตัวดำเนินการ `<>` ที่ล้าสมัยอีก 50 จุด
งานที่ยากกว่ารออยู่ในขั้นที่ 2: โค้ดราว 20,000 บรรทัดที่คอมไพล์ผ่านทั้งสองเวอร์ชันแต่ "ทำงานต่างกัน" ซึ่งต้องรีวิวด้วยมือ ไม่มีเครื่องมืออัตโนมัติตัวไหนช่วยได้ นี่คือส่วนที่ทำให้การอัปเกรด Python 2→3 ในระบบขนาดใหญ่อันตรายจริง
ไทม์ไลน์คือเริ่มทดสอบบนเซิร์ฟเวอร์ Singularity ตั้งแต่กรกฎาคม 2025 และนำขั้นแรกขึ้นเซิร์ฟเวอร์จริง Tranquility เมื่อ 25 สิงหาคม 2026 โดยยังมีเฟสทดสอบอีกหลายรอบก่อนย้ายสมบูรณ์ ประโยชน์ที่คาดหวังคือประสิทธิภาพที่ดีขึ้น เครื่องมือดีบักสมัยใหม่ ไวยากรณ์ที่ง่ายขึ้น และการรองรับหลายภาษาที่ดีขึ้นจากการจัดการสตริงแบบเดียวกัน
แหล่งอ้างอิง
อ่านต้นฉบับที่ EVE Online (CCP Games)https://www.eveonline.com/news/view/the-move-to-python-3-begins