Bei ya kuhamisha Mercurial hadi Python 3 inaweza kuwa msururu wa hitilafu zisizotarajiwa.

Kidhibiti cha mfumo wa kudhibiti toleo Mzuri kuniangusha matokeo kazi ya kuhamisha mradi kutoka Python 2 hadi Python 3. Licha ya ukweli kwamba majaribio ya kwanza ya uhamishaji yalifanywa nyuma mnamo 2008, na urekebishaji wa kasi wa kufanya kazi na Python 3 ulianza mnamo 2015, uwezo kamili wa kutumia Python 3 ulitekelezwa hivi karibuni. tawi la Mercurial 5.2.

Utabiri juu ya uthabiti wa bandari ya Python 3 ni ya kukatisha tamaa. Hasa, inatarajiwa kwamba makosa ya random yatatokea katika msimbo kwa kipindi cha miaka kadhaa, kwani vipimo havifuni 100% ya msingi wa kanuni, na matatizo mengi hayaonekani wakati wa uchambuzi wa tuli na yanaonekana tu wakati wa kukimbia. Kwa kuongezea, viongezi na viendelezi vingi vya wahusika wengine hubakia bila kutafsiriwa kwa Python 3.
Kwa kuwa wakati wa uhamishaji iliamuliwa kurekebisha msimbo hatua kwa hatua kwa Python 3, wakati wa kudumisha usaidizi wa Python 2, nambari hiyo ilipata hacks nyingi za kuchanganya Python 2 na 3, ambayo italazimika kusafishwa baada ya msaada wa Python 2 mwisho.

Akizungumzia hali hiyo na Python 3, mtunza Mercurial anaamini kwamba uamuzi wa kukuza Python 3 inayovunja ushirikiano na kuiweka kama lugha mpya, sahihi zaidi, bila kukosekana kwa maboresho ya mafanikio yanayohusiana na watengenezaji, ilikuwa kosa kubwa ambalo lilisababisha. madhara makubwa kwa jamii na ni mfano wa jinsi miradi mikubwa isivyohitaji kufanya hivyo. Badala ya kujenga utendakazi hatua kwa hatua na kuruhusu programu kubinafsishwa kwa kuongezeka, kutolewa kwa Python 3 kulilazimu watengenezaji kuandika upya msimbo na kutumia rasilimali kudumisha matawi tofauti ya Python 2 na Python 3. Haikuwa hadi miaka saba baada ya Python 3.0 kutolewa ndipo Python 3.5 ilianzisha vipengee ili kulainisha mchakato wa mpito na kuhakikisha kuwa msingi sawa wa nambari unaendesha Python 2 na Python 3.

Chanzo: opennet.ru

Kuongeza maoni