Цената на превода на Mercurial на Python 3 може да се окаже шлейф от непредвидими грешки

Поддържател на системата за управление на версии Mercurial обобщи резултата от работата по прехвърлянето на проекта от Python 2 на Python 3. Въпреки че първите опити за портинг бяха предприети още през 2008 година, а в ускорен режим адаптацията за работа с Python 3 започна през 2015 година, пълната възможност за използване на Python 3 бе реализирана само в последната версия на Mercurial 5.2.

Прогнозите за стабилността на портинга за Python 3 са неблагополучни. Конкретно, се предполага, че през следващите години в кода ще се появяват случайни грешки, тъй като тестовете не покриват 100% от кода, а много проблеми остават незабелязани при статичен анализ и се проявяват само по време на изпълнение. Освен това, много от външните добавки и разширения остават неизменени на Python 3.
Тъй като при портинга бе взето решение постепенно да се адаптира кодът за Python 3, запазвайки поддръжка за Python 2, кодът беше наслоен с множество хакове за съвместимост между Python 2 и 3, които след прекратяването на поддръжката за Python 2 ще трябва да бъдат премахнати.

Коментирайки ситуацията с Python 3, поддържателят на Mercurial смята, че решението да се наложи несъвместимостта на Python 3 и да се наложи като новия правилен език, без актуални за разработчиците пробивни подобрения, беше голяма грешка, която причини сериозен ущърб на общността и е пример за това как не трябва да действат големи проекти. Вместо постепенно нарастване на функционалността и предоставяне на възможност за инкрементална адаптация на приложенията, при излизането на Python 3 разработчиците бяха принудени да пренаписват кода и да влагат ресурси в поддръжката на отделни версии за Python 2 и Python 3. Едва седем години след пускането на Python 3.0, в Python 3.5 бяха реализирани функционалности, които улесниха процеса на преминаване и осигуриха работа на един кодов база както с Python 2, така и с Python 3.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster