Cena przetłumaczenia Mercuriala na Pythona 3 może wiązać się z falą nieprzewidzianych błędów

Menedżer systemu kontroli wersji Mercurial podsumował wyniki pracy nad przeniesieniem projektu z Python 2 na Python 3. Mimo że pierwsze próby portowania miały miejsce już w 2008 roku, a dostosowanie do pracy z Python 3 rozpoczęło się w 2015 roku, pełna możliwość korzystania z Python 3 została zrealizowana dopiero w ostatniej wersji Mercuriala 5.2.

Prognozy dotyczące stabilności portu dla Pythona 3 są niepokojące. Przewiduje się, że przez kilka lat w kodzie będą pojawiały się przypadkowe błędy, ponieważ testy nie obejmują 100% bazy kodu, a wiele problemów pozostaje niezauważonych podczas analizy statycznej i ujawnia się dopiero w trakcie wykonywania. Ponadto wiele zewnętrznych dodatków i rozszerzeń nie zostało jeszcze przeniesionych na Pythona 3.
Ponieważ podczas portowania podjęto decyzję o stopniowym dostosowywaniu kodu do Pythona 3 przy zachowaniu wsparcia dla Pythona 2, kod ten zyskał wiele sztuczek umożliwiających współpracę Pythona 2 i 3, które po zakończeniu wsparcia dla Pythona 2 będą musiały zostać usunięte.

Komentując sytuację z Pythonem 3, menedżer Mercuriala uważa, że decyzja o promowaniu łamiącego kompatybilność Pythona 3 i narzuceniu go jako nowego, bardziej poprawnego języka, przy braku istotnych dla programistów innowacji, była dużym błędem, który wyrządził poważną krzywdę społeczności i stanowi przykład tego, jak nie powinny postępować duże projekty. Zamiast stopniowo zwiększać funkcjonalność i umożliwiać inkrementalne dostosowanie aplikacji, przy wydaniu Pythona 3 zmuszano programistów do przepisywania kodu i wydawania zasobów na utrzymywanie oddzielnych gałęzi dla Pythona 2 i Pythona 3. Dopiero siedem lat po wydaniu Pythona 3.0 w Pythonie 3.5 wprowadzono funkcjonalności, które pozwoliły na ułatwienie procesu przejścia i zapewnienie działania jednej bazy kodu z Pythonem 2 i Pythonem 3.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster