Analiza tveganj pri uresničevanju pobude Perl 7

Dan Book (Dan Book), ki podpira več kot 70 modulov v CPAN, je opravil analizo tveganj pri izvedbi predlaganega plana uvedbe Perl 7. Spomnimo, da v okvirju Perl 7 nameravajo privzeto vključiti strogi način "strict", omogočiti "use warnings" in spremeniti vrednosti nekaterih parametrov, ki vplivajo na združljivost s staro kodo.

Očekuje se, da bo ta sprememba povzročila nezdružljivost velikega števila modulov iz CPAN v Perl 7 in bo zahtevala spremembe v vsakem takem modulu, kar je nerealno izvedljivo v predvidenem letu, še posebej ob upoštevanju, da ne ostanejo vsi avtorji dostopni. Novosti iz Perl 7 tudi ne bodo omogočile uporabe modulov, ki podpirajo ne le najnovejšo različico Perl.

Poleg tega se omenjajo naslednje morebitne težave:

  • Zmeda pri novicah zaradi nezdružljivosti nekaterih primerov in priporočil iz priročnikov, napisanih za Perl 5, v Perl 7.
  • Nedovoljeno je proučeno vplivanje na razvoj enovrstičnih skript. Perl se aktivno uporablja ne le za pisanje velikih skript, temveč tudi za ustvarjanje enovrstičnih skript in kratkih scenarijev za potrebe skrbnikov, pri čemer je uporaba strogega načina odveč.
  • Distribucije se soočajo s težavo hkratne dobave izvršnih datotek za zagon skript Perl 7 in Perl 5 (pričakuje se ponovitev zgodbe s Python 2 in 3).
  • Koda napisana za Perl 7 ni dolžna posebno označevati, da ne bo delovala v Perl 5, mnogi razvijalci ne bodo navedli minimalno podprte različice.
  • Različna orodja in moduli, vezani na Perl 5, bodo zahtevali spremembe.
  • Priprava Perl 7 bo zaradi prerazporeditve virov za nekaj časa zamrznila razvoj novih funkcij Perl.
  • Obstaja tveganje za izgorelost in odhod aktivnih razvijalcev interpreterja Perl, modulov, orodij in spremljajočih paketov zaradi velike dodatne obremenitve brez ustrezne motivacije (ne vsi se strinjajo z nujnostjo ustvarjanja Perl 7).
  • Temeljito se bo spremenila kultura v skupnosti in odnos do stabilnosti Perl.
  • Uglede jezika bo omajan zaradi kritik o kršitvi združljivosti Perl 7 s obstoječo kodo ob pomanjkanju nečesa načeloma novega.

Za ublažavanje negativnih posljedica, Dan Book je predložio svoj plan koji će omogućiti izbjegavanje problema s kompatibilnošću. Predlaže se zadržavanje prethodnog proces razvoja te umjesto 5.34.0 sljedećem izdanju dodijeliti broj 7.0.0, u kojem će biti onemogućena podrška za indirektnu notaciju pozivanja objekata i uključene neke nove mogućnosti, poput try/catch. Promjene kao što su „use strict“ i „use warnings“ predložene su za regulaciju jasnim navođenjem verzije Perla u kodu uz pomoć pragma „use v7“ (strict se već prema zadanim postavkama uključuje za „use v5.12“ i novija izdanja).

Zadano se preporučuje u interpreteru zadržati skup parametara koji se ne razlikuje od Perl 5, osim standardnog procesa čišćenja zastarjelog sintaktičkog obrasca koji se koristio i ranije. Podrška za stare mogućnosti i zastarjeli sintaktički obrazac može se kao i ranije prekidati u skladu s postojećim pravilima prijenosa funkcionalnosti u status zastarjelog. Signalizirati korištenje novih elemenata Perl 7 u kodu i za razdvajanje novog i starog stila predlaže se uz pomoć pragma „use v7“.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster