Վարկանիշի համակարգի պահպանող կառավարել նախագծի անցումը 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
