Prisen for at migrere Mercurial til Python 3 kan være et spor af uventede fejl.

Vedligeholder af versionskontrolsystem Mercurial Lad mig i stikken Total arbejde på at overføre projektet fra Python 2 til Python 3. På trods af at de første porteringsforsøg blev gjort tilbage i 2008, og accelereret tilpasning til arbejdet med Python 3 begyndte i 2015, blev den fulde mulighed for at bruge Python 3 først implementeret i seneste gren af ​​Mercurial 5.2.

Forudsigelser om stabiliteten af ​​porten til Python 3 er skuffende. Det forventes især, at der vil dukke tilfældige fejl op i koden i løbet af flere år, da test ikke dækker 100% af kodebasen, og mange problemer er usynlige under statisk analyse og kun optræder under kørsel. Derudover forbliver mange tredjeparts tilføjelser og udvidelser uoversat til Python 3.
Da det under porteringen blev besluttet gradvist at tilpasse koden til Python 3, samtidig med at understøttelsen af ​​Python 2 bibeholdtes, fik koden mange hacks til at kombinere Python 2 og 3, som skal ryddes op efter at supporten til Python 2 slutter.

I en kommentar til situationen med Python 3 mener Mercurial-vedligeholderen, at beslutningen om at promovere den interoperabilitetsbrydende Python 3 og påtvinge den som et nyt, mere korrekt sprog, i mangel af banebrydende forbedringer, der er relevante for udviklere, var en stor fejl, der forårsagede stor skade for samfundet og er et eksempel på, hvordan ikke store projekter behøver at gøre det. I stedet for gradvist at opbygge funktionalitet og tillade applikationer at blive trinvist tilpasset, tvang udgivelsen af ​​Python 3 udviklere til at omskrive kode og bruge ressourcer på at opretholde separate grene til Python 2 og Python 3. Det var først syv år efter udgivelsen af ​​Python 3.0, at Python 3.5 introducerede funktioner til at udjævne overgangsprocessen og sikre, at den samme kodebase kører både Python 2 og Python 3.

Kilde: opennet.ru

Tilføj en kommentar