Prisen for at oversætte Mercurial til Python 3 kan være en række uventede fejl

Hovedansvarlig for versionsstyringssystemet Mercurial har afsluttet arbejdet med at oversætte projektet fra Python 2 til Python 3. Selvom de første forsøg på at portere blev gjort allerede i 2008, og tilpasningen til Python 3 begyndte i 2015 i et forceret tempo, blev den fulde mulighed for at bruge Python 3 først realiseret i den seneste version af Mercurial 5.2.

Forudsigelserne om stabiliteten af porten til Python 3 er ikke opmuntrende. Det forventes især, at der i kodningen vil opstå sporadiske fejl i flere år, da testene ikke dækker 100% af kodebasen, og mange problemer er usynlige ved statisk analyse og kun viser sig under kørsel. Desuden er mange tredjepartsudvidelser og -plugins stadig ikke oversat til Python 3.
Da det under porteringen blev besluttet gradvist at tilpasse koden til Python 3, mens man opretholdt støtten til Python 2, blev koden fyldt med mange hacks for at kombinere Python 2 og 3, som efter ophøret af Python 2's støtte skal renses.

Når han kommenterer situationen med Python 3, mener hovedansvarlig for Mercurial, at beslutningen om at fremme den komplicerede kompatibilitet med Python 3 og påtvinge det som et nyt, mere korrekt sprog, i mangel af faktiske banebrydende forbedringer for udviklerne, var en stor fejl, der har forårsaget betydelig skade på fællesskabet og er et eksempel på, hvordan store projekter ikke bør handle. I stedet for gradvist at øge funktionaliteten og give mulighed for inkremental tilpasning af applikationer, blev udviklerne med udgivelsen af Python 3 tvunget til at omskrive koden og bruge ressourcer på at vedligeholde separate versioner for Python 2 og Python 3. Først syv år efter udgivelsen af Python 3.0 blev der i Python 3.5 implementeret funktioner, der gjorde det muligt at lette overgange og sikre, at en enkelt kodebase fungerer med både Python 2 og Python 3.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster