Priset för att migrera Mercurial till Python 3 kan vara ett spår av oväntade fel.

Underhållare av versionskontrollsystem Mercurial släpp ner mig total arbete med att överföra projektet från Python 2 till Python 3. Trots att de första porteringsförsöken gjordes redan 2008, och en accelererad anpassning för att arbeta med Python 3 började 2015, implementerades den fullständiga möjligheten att använda Python 3 först i senaste gren av Mercurial 5.2.

Förutsägelser om stabiliteten i porten för Python 3 är en besvikelse. I synnerhet förväntas det att slumpmässiga fel kommer att dyka upp i koden under loppet av flera år, eftersom tester inte täcker 100% av kodbasen, och många problem är osynliga under statisk analys och dyker bara upp under körning. Dessutom förblir många tredjepartstillägg och tillägg oöversatta till Python 3.
Eftersom det under porteringen beslutades att gradvis anpassa koden till Python 3, samtidigt som stödet för Python 2 bibehölls, fick koden många hacks för att kombinera Python 2 och 3, vilket kommer att behöva rensas upp efter att stödet för Python 2 upphör.

När han kommenterar situationen med Python 3, anser Mercurial-underhållaren att beslutet att marknadsföra den interoperabilitetsbrytande Python 3 och införa det som ett nytt, mer korrekt språk, i avsaknad av banbrytande förbättringar som är relevanta för utvecklare, var ett stort misstag som orsakade stor skada för samhället och är ett exempel på hur inte stora projekt behöver göra det. Istället för att gradvis bygga funktionalitet och tillåta applikationer att anpassas stegvis, tvingade lanseringen av Python 3 utvecklare att skriva om kod och spendera resurser på att underhålla separata grenar för Python 2 och Python 3. Det var inte förrän sju år efter lanseringen av Python 3.0 som Python 3.5 introducerade funktioner för att jämna ut övergångsprocessen och säkerställa att samma kodbas kör både Python 2 och Python 3.

Källa: opennet.ru

Lägg en kommentar