EVE Online начинает переход с Python 2.7 на Python 3¶
4.0/10
Контекст¶
EVE Online уже более двадцати лет считается одним из самых интересных примеров масштабного использования Python. Игра работает на Stackless Python с запуска в 2003 году, а последний крупный апгрейд был сделан в 2010 году — до Stackless Python 2.7.
Суть¶
Как пишет Саймон Уиллисон, объявленный переход начнётся с прогона скрипта futurize по 2,4 миллионам строк кода, после чего последует ручная проверка примерно 20 000 мест, где поведение Python 2 и Python 3 расходится, — например, 1 / 2 в Python 2 даёт 0, а в Python 3 — 0.5. В самом анонсе ничего не сказано о том, как EVE Online планирует заменить Stackless. Автор напоминает, что на конференции в прошлом году был представлен доклад «Scheduling in Carbon: Leaving Stackless Python Behind», где рассказывалось о замене Stackless в движке Carbon для более новой игры EVE Frontier; для этого использовалась открытая библиотека carbonengine/scheduler. Таким образом, у читателя есть отправная точка для понимания возможного пути миграции, хотя деталей именно по EVE Online в заметке нет.
Вывод¶
Автор видит главную ценность в самом факте перехода: это один из самых интересных примеров Python в масштабе, а детали замены Stackless он предлагает искать в отдельном докладе.