نگهدارنده سیستم کنترل نسخه ناامید کردن کار بر روی مهاجرت پروژه از پایتون ۲ به پایتون ۳. اگرچه اولین تلاشهای انتقال در سال ۲۰۰۸ انجام شد و سازگاری سریع با پایتون ۳ در سال ۲۰۱۵ آغاز شد، پشتیبانی کامل از پایتون ۳ تنها در آخرین نسخه Mercurial 5.2 پیادهسازی شد.
پیشبینیها برای پایداری پورت پایتون ۳ ناامیدکننده است. بهطور خاص، انتظار میرود که در چند سال آینده اشکالات تصادفی در کد ظاهر شوند، زیرا آزمایشها ۱۰۰٪ از پایگاه کد را پوشش نمیدهند و بسیاری از مشکلات برای تحلیل استاتیک نامرئی هستند و فقط در زمان اجرا آشکار میشوند. علاوه بر این، بسیاری از افزونهها و اکستنشنهای شخص ثالث به پایتون ۳ منتقل نشدهاند.
از آنجایی که فرآیند انتقال به گونهای طراحی شده بود که به تدریج کد را با پایتون ۳ تطبیق دهد و در عین حال پشتیبانی از پایتون ۲ را حفظ کند، کد با ترفندهای زیادی برای ترکیب پایتون ۲ و ۳ پر شده است که پس از پایان پشتیبانی از پایتون ۲ باید اصلاح شوند.
مسئول نگهداری مرکوریال در مورد وضعیت پایتون ۳ معتقد است که تصمیم برای ترویج پایتون ۳ ناسازگار و معرفی آن به عنوان زبان جدید و صحیحتر، بدون هیچ پیشرفت چشمگیری که مربوط به توسعهدهندگان باشد، یک اشتباه بزرگ بود که آسیب قابل توجهی به جامعه وارد کرد و به عنوان نمونهای از چگونگی عدم مدیریت پروژههای بزرگ عمل کرد. به جای افزایش تدریجی عملکرد و امکان سازگاری تدریجی برنامهها، انتشار پایتون ۳ توسعهدهندگان را مجبور به بازنویسی کد و اتلاف منابع برای نگهداری شاخههای جداگانه برای پایتون ۲ و پایتون ۳ کرد. تنها هفت سال پس از انتشار پایتون ۳.۰، پایتون ۳.۵ ویژگیهایی را پیادهسازی کرد که میتوانست این گذار را هموار کند و امکان همزیستی یک کدبیس واحد با پایتون ۲ و پایتون ۳ را فراهم کند.
منبع: opennet.ru
