Cena selitve Mercuriala na Python 3 je lahko sled nepričakovanih napak.

Vzdrževalec sistema za nadzor različic Mercurial spusti me dol, razočaraj me skupaj delo na prenosu projekta iz Python 2 v Python 3. Kljub dejstvu, da so bili prvi poskusi prenosa izvedeni že leta 2008, pospešeno prilagajanje za delo s Python 3 pa se je začelo leta 2015, je bila polna možnost uporabe Python 3 implementirana šele v zadnjem podružnica Merkurja 5.2.

Napovedi o stabilnosti vrat za Python 3 so razočarajoče. Zlasti je pričakovati, da se bodo v nekaj letih v kodi pojavile naključne napake, saj testi ne pokrivajo 100 % baze kode in so številne težave med statično analizo nevidne in se pojavijo šele med izvajanjem. Poleg tega številni dodatki in razširitve tretjih oseb ostajajo neprevedeni v Python 3.
Ker je bilo med prenosom odločeno, da se koda postopoma prilagodi Pythonu 3, hkrati pa ohrani podpora za Python 2, je koda pridobila veliko vdorov za združevanje Pythona 2 in 3, ki jih bo treba po koncu podpore za Python 2 očistiti.

Ko komentira situacijo s Pythonom 3, vzdrževalec Mercurial meni, da je bila odločitev za promocijo Pythona 3, ki lomi interoperabilnost, in ga vsili kot nov, bolj pravilen jezik, v odsotnosti prelomnih izboljšav, pomembnih za razvijalce, velika napaka, ki je povzročila velika škoda za skupnost in je primer tega, kako veliki projekti tega ne potrebujejo. Namesto postopne gradnje funkcionalnosti in omogočanja postopnega prilagajanja aplikacij, je izdaja Pythona 3 razvijalce prisilila v ponovno pisanje kode in porabo virov za vzdrževanje ločenih vej za Python 2 in Python 3. Šele sedem let po izdaji Pythona 3.0 Python 3.5 je uvedel funkcije, ki olajšajo proces prehoda in zagotovijo, da ista kodna osnova izvaja tako Python 2 kot Python 3.

Vir: opennet.ru

Dodaj komentar