Mercurial migrēšanas uz Python 3 cena var būt neparedzētu kļūdu taka.

Versiju kontroles sistēmas uzturētājs kustīgs laid mani lejā iznākums darbs pie projekta pārcelšanas no Python 2 uz Python 3. Neskatoties uz to, ka pirmie portēšanas mēģinājumi tika veikti 2008. gadā un paātrināta adaptācija darbam ar Python 3 sākās 2015. gadā, pilnīga Python 3 izmantošanas iespēja tika ieviesta tikai jaunākajā Mercurial filiāle 5.2.

Prognozes par Python 3 porta stabilitāti rada vilšanos. Jo īpaši ir sagaidāms, ka vairāku gadu laikā kodā parādīsies nejaušas kļūdas, jo testi neaptver 100% no koda bāzes, un daudzas problēmas ir neredzamas statiskās analīzes laikā un parādās tikai izpildes laikā. Turklāt daudzi trešo pušu papildinājumi un paplašinājumi joprojām nav tulkoti Python 3.
Tā kā pārnešanas laikā tika nolemts pakāpeniski pielāgot kodu Python 3, vienlaikus saglabājot atbalstu Python 2, kods ieguva daudz uzlaušanas, lai apvienotu Python 2 un 3, kas būs jāiztīra pēc Python 2 atbalsta beigām.

Komentējot situāciju ar Python 3, Mercurial uzturētājs uzskata, ka lēmums popularizēt savietojamību graujošo Python 3 un uzspiest to kā jaunu, pareizāku valodu, tā kā nebija izstrādātājiem aktuālu revolucionāru uzlabojumu, bija liela kļūda, kas izraisīja. liels kaitējums sabiedrībai, un tas ir piemērs tam, ka tas nav jādara lieliem projektiem. Tā vietā, lai pakāpeniski veidotu funkcionalitāti un ļautu pakāpeniski pielāgot lietojumprogrammas, Python 3 izlaišana piespieda izstrādātājus pārrakstīt kodu un tērēt resursus, uzturot atsevišķas filiāles Python 2 un Python 3. Tas notika tikai septiņus gadus pēc Python 3.0 izlaišanas. Python 3.5 ieviesa līdzekļus, lai izlīdzinātu pārejas procesu un nodrošinātu, ka viena un tā pati koda bāze darbojas gan Python 2, gan Python 3.

Avots: opennet.ru

Pievieno komentāru