Cena migrácie Mercurial na Python 3 môže byť stopou neočakávaných chýb.

Správca systému kontroly verzií ortuťový sklamať ma výsledok práce na prenose projektu z Pythonu 2 do Pythonu 3. Napriek tomu, že prvé pokusy o portovanie sa uskutočnili už v roku 2008 a zrýchlená adaptácia na prácu s Pythonom 3 sa začala v roku 2015, plná schopnosť používať Python 3 bola implementovaná až v pobočka Mercurial 5.2.

Predpovede o stabilite portu pre Python 3 sú sklamaním. Očakáva sa najmä, že v priebehu niekoľkých rokov sa v kóde objavia náhodné chyby, pretože testy nepokrývajú 100 % kódovej základne a mnohé problémy sú počas statickej analýzy neviditeľné a objavujú sa iba za behu. Okrem toho mnoho doplnkov a rozšírení tretích strán zostáva nepreložených do Pythonu 3.
Keďže počas portovania sa rozhodlo o postupnom prispôsobovaní kódu Pythonu 3, pri zachovaní podpory pre Python 2, kód získal mnoho hackov na kombináciu Pythonu 2 a 3, ktoré bude potrebné vyčistiť po ukončení podpory pre Python 2.

V komentári k situácii s Pythonom 3 sa správca Mercurial domnieva, že rozhodnutie propagovať Python 3, ktorý narúša interoperabilitu a vnútiť ho ako nový, správnejší jazyk, pri absencii prelomových vylepšení relevantných pre vývojárov, bolo veľkou chybou, ktorá spôsobila veľké škody pre komunitu a je príkladom toho, ako to nemusia robiť veľké projekty. Namiesto postupného budovania funkčnosti a umožnenia postupného prispôsobovania aplikácií, vydanie Pythonu 3 prinútilo vývojárov prepísať kód a míňať prostriedky na údržbu samostatných vetiev pre Python 2 a Python 3. Až sedem rokov po vydaní Pythonu 3.0 Python 3.5 zaviedol funkcie na vyhladenie procesu prechodu a zabezpečenie toho, aby rovnaký základ kódu bežal Python 2 aj Python 3.

Zdroj: opennet.ru

Pridať komentár