Versioonihalduse sĂŒsteemi mainer tĂ”i projekti tĂ”lkimise tööst Python 2-st Python 3-le. Kuigi esimesed portimise katsetused tehti juba 2008. aastal ja kiirusreĆŸiimis alustati kohandamist Python 3 töötamiseks 2015. aastal, sai Python 3 tĂ€isvĂ”imekus rakendatud alles viimases Mercurial 5.2 harus.
Prognoosid Python 3 pordi stabiilsuse kohta on tĂ”siselt murettekitavad. EelkĂ”ige eeldatakse, et jĂ€rgmise paari aasta jooksul tekivad koodis juhuslikud vead, kuna testid ei kata 100% koodibaasist ning paljusid probleeme ei tohi mĂ€rgata staatilise analĂŒĂŒsi kĂ€igus, vaid need avalduvad ainult jooksutamise ajal. Lisaks jÀÀvad paljusid kolmandate osapoolte lisandeid ja laiendusi, mis pole Python 3-le tĂ”lgitud, alles.
Kuna portimise kÀigus otsustati jÀrk-jÀrgult kohandada koodi Python 3-le, sÀilitades Python 2 toe, kasvas koodil hulgaliselt nikerdusi Python 2 ja 3 töökindluse tagamiseks, mida tuleb pÀrast Python 2 toe lÔpetamist eemaldada.
RÀÀkides Python 3 olukorrast, leiab Mercuriali mainer, et otsus edendada Python 3 nĂ”udlikus liikuvuse pidurdustes ja esitada see uue Ă”igemana, puuduvate tĂ€helepanuvÀÀrsete uuenduste tingimustes, oli suur viga, mis tegi kogukonnale suurt kahju ja on nĂ€ide sellest, kuidas suurtes projektides mitte vĂ€lja minna. Kogu funktsionaalsuse jĂ€rkjĂ€rguline lisamine ja rakenduste jĂ€rkjĂ€rguline kohandamine vĂ”imaldamine oleks pidanud toimuma, kuid Python 3 vĂ€ljalaskmisega sunniti arendajaid koodi ĂŒmber kirjutama ja ressursse eraldama eraldi harude haldamiseks Python 2 ja Python 3 jaoks. Alles seitse aastat pĂ€rast Python 3.0 vĂ€ljaandmist realiseeriti Python 3.5-s vĂ”imalused, mis vĂ”imaldasid sujuvamalt ĂŒleminekut ja sellest ĂŒhes koodibaasis toimimist koos Python 2 ja Python 3-ga.
Allikas: opennet.ru
