Analýza rizík pri realizácii iniciatívy Perl 7

Dan Book (Dan Book), ktorý podporuje viac než 70 modulov v CPAN, vykonal analýzu rizík pri realizácii navrhnutého plánu implementácie Perl 7. Pripomeňme, že vo verzii Perl 7 sa plánuje predvolene zahrnúť režim prísnej kontroly „strict“, aktivovať „use warnings“ a zmeniť hodnotu niekoľkých parametrov, ktoré ovplyvňujú kompatibilitu so starým kódom.

Očakáva sa, že táto zmena povedie k nefunkčnosti veľkého množstva modulov z CPAN v Perl 7 a bude si vyžadovať úpravy v každom takom module, čo je nerealistické uskutočniť v plánovanom roku, najmä s ohľadom na to, že nie všetci autori sú stále dostupní. Novinky z Perl 7 tiež neumožnia používať moduly, ktoré sú určené na podporu nielen najnovšej verzie Perl.

Okrem toho sa spomínajú aj možné problémy:

  • Zamieňanie u nováčikov v dôsledku nefunkčnosti niektorých príkladov a odporúčaní v príručkách, ktoré boli napísané pre Perl 5, v Perl 7.
  • Nebolo preskúmané vplyv na vývoj jednorádkových skriptov. Perl sa aktívne používa nielen na písanie veľkých skriptov, ale aj na vytváranie jednorádkových a krátkych scénarov pre potreby administrátorov, v ktorých je použitie režimu strict nadbytočné.
  • Distribúcie čelí problémom s narazovým dodávaním spustiteľných súborov na spúšťanie skriptov Perl 7 a Perl 5 (očakáva sa opakovanie histórie s Python 2 a 3).
  • Kód napísaný pre Perl 7 nemá povinnosť výslovne označovať, že nebude fungovať v Perl 5, mnohí vývojári nebudú uvádzať minimálne podporovanú verziu.
  • Rôzne utilitky a moduly, viazané na Perl 5, si vyžadujú opravy.
  • Príprava Perl 7 kvôli presunu zdrojov na nejaký čas zmrazí vývoj nových funkcií Perl.
  • Objavuje sa riziko vyhorenia a odchodu aktívnych vývojárov interpretera Perl, modulov, nástrojov a sprievodných balíkov kvôli vzniku veľkej dodatočnej záťaže bez náležitej motivácie (nie všetci súhlasia s potrebou vytvorenia Perl 7).
  • Kultúra v komunite a prístup k stabilite Perl sa zásadne zmení.
  • Bude narušená autorita jazyka v dôsledku kritiky za porušovanie kompatibility Perl 7 so existujúcim kódom pri absencii niečoho zásadne nového.

Na zjemnenie negatívnych dôsledkov navrhol Dan Book svoj plán, ktorý umožní vyhnúť sa rozporom v kompatibilite. Navrhuje sa zachovať súčasný proces vývoja a priradiť nasledujúcej verzii číslo 7.0.0 namiesto 5.34.0, pričom sa vypne podpora nepriamych notácií volania objektov a zahrnú sa niektoré nové funkcie, ako napríklad try/catch. Zmeny ako "use strict" a "use warnings" sa navrhujú regulovať jednoznačným určením verzie Perl v kóde pomocou pragmy "use v7" (strict sa už predvolene zapína pre "use v5.12" a novšie verzie).

Predvolene sa v interpretovi odporúča zachovať sadu parametrov, ktorá sa nelíši od Perl 5, okrem bežného procesu čistenia zastaraného syntaxu, ktorý sa používal aj predtým. Podporu starých funkcií a zastaraného syntaxu je možné ako predtým ukončiť v súlade s existujúcimi pravidlami prevodu funkčnosti do kategórie zastaralých. Signalizovať použitie nových prvkov Perl 7 v kóde a na oddelenie nového a starého štýlu sa navrhuje pomocou pragmy "use v7".

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster