Analýza rizík pre iniciatívu Perl 7

Danova kniha (Kniha Dan), ktorý podporuje viac ako 70 modulov v CPAN, vykonal analýzu riziká pri implementácii navrhovaného Plán implementácie Perl 7. Pripomeňme, že vo vetve Perl 7 majú v úmysle štandardne povoliť režim prísnej kontroly „striktný“, aktivovať „používať upozornenia“ a zmeniť hodnotu množstva parametrov, ktoré ovplyvňujú kompatibilitu so starým kódom.

Očakáva sa, že zmena poruší veľké množstvo modulov CPAN v Perl 7 a bude vyžadovať zmeny v každom module, čo je nereálne implementovať v cieľovom roku, najmä preto, že nie všetci autori zostávajú k dispozícii. Zmeny v Perl 7 tiež zabránia použitiu modulov, ktoré sú navrhnuté tak, aby podporovali viac než len najnovšiu verziu Perlu.

Okrem toho sú uvedené nasledujúce možné problémy:

  • Zmätok medzi začiatočníkmi v dôsledku niektorých príkladov a odporúčaní z manuálov napísaných pre Perl 7, ktoré nefungujú v Perl 5.
  • Vplyv na vývoj jednovrstvových vložiek sa neskúmal. Perl sa aktívne používa nielen na písanie veľkých skriptov, ale aj na vytváranie jednoriadkových a krátkych skriptov pre potreby administrátorov, v ktorých je použitie prísneho režimu zbytočné.
  • Distribúcie majú problém so súčasným doručovaním spustiteľných súborov pre spustenie skriptov Perl 7 a Perl 5 (očakáva sa, že príbeh sa bude opakovať s Pythonom 2 a 3).
  • Kód napísaný pre Perl 7 nemusí špecificky uvádzať, že nebude bežať v Perle 5; mnohí vývojári nešpecifikujú minimálnu podporovanú verziu.
  • Rôzne pomocné programy a moduly založené na Perl 5 budú vyžadovať opravy.
  • Príprava Perlu 7 z dôvodu prerozdelenia zdrojov na nejaký čas zmrazí vývoj nových funkcií Perlu.
  • Existuje riziko vyhorenia a odchodu aktívnych vývojárov interpreta Perl, modulov, nástrojov a sprievodných balíkov z dôvodu veľkého dodatočného pracovného zaťaženia bez náležitej motivácie (nie každý súhlasí s potrebou vytvárať Perl 7).
  • Kultúra v komunite a postoj k stabilite Perlu sa zásadne zmení.
  • Autorita jazyka bude podkopaná kvôli kritike, že Perl 7 je nekompatibilný s existujúcim kódom pri absencii niečoho zásadne nového.

Aby vyhladil negatívne dôsledky, Dan Book navrhol svoj plán, ktorý zabráni medzere v kompatibilite. Navrhuje sa zachovať rovnaký vývojový proces a namiesto 5.34.0 priradiť ďalšie číslo vydania 7.0.0, v ktorom zakážeme podporu zápisu nepriameho volania objektu a povolíme niektoré nové funkcie, ako napríklad try/catch. Zmeny ako „použiť prísne“ a „upozornenia na používanie“ sa navrhuje regulovať výslovným špecifikovaním verzie Perl v kóde prostredníctvom pragmy „použitie v7“ (prísne je už predvolene povolené pre „použitie v5.12“ a novšie vydania ).

Štandardne sa odporúča, aby si tlmočník zachoval sadu parametrov, ktoré sa nelíšia od Perlu 5, s výnimkou štandardného procesu čistenia zastaranej syntaxe, ktorý sa používal predtým. Podpora starších funkcií a zastaranej syntaxe môže byť naďalej ukončená v súlade s existujúcimi pravidlami ukončenia podpory. Navrhuje sa signalizovať použitie nových prvkov Perl 7 v kóde a oddeliť nové a staré štýly pomocou pragmy „use v7“.

Zdroj: opennet.ru

Pridať komentár