Prisen for å migrere Mercurial til Python 3 kan være et spor av uventede feil.

Vedlikehold av versjonskontrollsystem Mercurial skuffe meg resultat arbeidet med å overføre prosjektet fra Python 2 til Python 3. Til tross for at de første porteringsforsøkene ble gjort tilbake i 2008, og akselerert tilpasning for å jobbe med Python 3 startet i 2015, ble den fulle muligheten til å bruke Python 3 implementert først i siste gren av Mercurial 5.2.

Spådommer om stabiliteten til porten for Python 3 er skuffende. Spesielt forventes det at tilfeldige feil vil dukke opp i koden i løpet av flere år, siden tester ikke dekker 100 % av kodebasen, og mange problemer er usynlige under statisk analyse og dukker kun opp under kjøring. I tillegg forblir mange tredjeparts tillegg og utvidelser uoversatt til Python 3.
Siden det under porteringen ble besluttet å gradvis tilpasse koden til Python 3, samtidig som støtten for Python 2 opprettholdes, fikk koden mange hacks for å kombinere Python 2 og 3, som må ryddes opp etter at støtten for Python 2 slutter.

I en kommentar til situasjonen med Python 3, mener Mercurial-vedlikeholderen at beslutningen om å promotere den interoperabilitetsbrytende Python 3 og påtvinge den som et nytt, mer korrekt språk, i fravær av banebrytende forbedringer som er relevante for utviklere, var en stor feil som forårsaket stor skade for samfunnet og er et eksempel på at ikke store prosjekter trenger å gjøre det. I stedet for å gradvis bygge funksjonalitet og la applikasjoner tilpasses trinnvis, tvang utgivelsen av Python 3 utviklere til å omskrive kode og bruke ressurser på å opprettholde separate grener for Python 2 og Python 3. Det var ikke før syv år etter utgivelsen av Python 3.0 at Python 3.5 introduserte funksjoner for å jevne ut overgangsprosessen og sikre at den samme kodebasen kjører både Python 2 og Python 3.

Kilde: opennet.ru

Legg til en kommentar