Одржувач на системот за контрола на верзијата изневери ме работа на префрлање на проектот од Python 2 на Python 3. И покрај фактот што првите обиди за пренесување беа направени уште во 2008 година, а забрзаната адаптација за работа со Python 3 започна во 2015 година, целосната можност за користење на Python 3 беше имплементирана само во најновите гранка на Меркуриал 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
