Cijena migracije Mercuriala na Python 3 može biti niz neočekivanih pogrešaka.

Održavatelj sustava kontrole verzija živin pusti me dolje ukupno rad na prijenosu projekta s Pythona 2 na Python 3. Unatoč činjenici da su prvi pokušaji portiranja napravljeni još 2008., a ubrzana prilagodba za rad s Python 3 započela je 2015., puna mogućnost korištenja Pythona 3 implementirana je tek u najnovijem grana Merkura 5.2.

Predviđanja o stabilnosti priključka za Python 3 su razočaravajuća. Konkretno, očekuje se da će se nasumične pogreške pojaviti u kodu tijekom nekoliko godina, jer testovi ne pokrivaju 100% baze koda, a mnogi problemi su nevidljivi tijekom statičke analize i pojavljuju se samo tijekom izvođenja. Osim toga, mnogi dodaci i proširenja trećih strana ostaju neprevedeni na Python 3.
Budući da je tijekom portiranja odlučeno postupno prilagoditi kod Pythonu 3, uz zadržavanje podrške za Python 2, kod je stekao mnogo hakova za kombiniranje Pythona 2 i 3, koji će se morati očistiti nakon što podrška za Python 2 prestane.

Komentirajući situaciju s Pythonom 3, održavatelj Mercuriala smatra da je odluka da se Python 3, koji ruši interoperabilnost, promovira i nametne kao novi, ispravniji jezik, u nedostatku revolucionarnih poboljšanja relevantnih za programere, velika greška koja je uzrokovala velika šteta za zajednicu i primjer je kako to ne trebaju veliki projekti. Umjesto postupne izgradnje funkcionalnosti i dopuštanja postupne prilagodbe aplikacija, izdanje Pythona 3 natjeralo je programere da ponovno napišu kod i potroše resurse na održavanje odvojenih grana za Python 2 i Python 3. Tek sedam godina nakon izdanja Pythona 3.0 Python 3.5 uveo je značajke za uglađivanje prijelaznog procesa i osiguranje da ista baza koda pokreće i Python 2 i Python 3.

Izvor: opennet.ru

Dodajte komentar