Analiza riscurilor în implementarea inițiativei Perl 7

Dan Book (Dan Book), care susține peste 70 de module în CPAN, a realizat analiza riscurilor asociate cu implementarea propusă a planului de implementare Perl 7. Să ne amintim că în versiunea Perl 7 se intenționează includerea implicită a modului strict „strict”, activarea „use warnings” și modificarea valorilor mai multor parametri care afectează compatibilitatea cu codul vechi.

Se preconizează că această modificare va duce la nefuncționarea unui număr mare de module din CPAN în Perl 7 și va necesita modificări în fiecare dintre aceste module, ceea ce este nerealist de realizat în termenul stabilit, mai ales având în vedere că nu toți autorii sunt disponibili. Nouvintele din Perl 7 nu vor permite, de asemenea, utilizarea modulelor care sunt concepute să suporte nu doar cea mai recentă versiune Perl.

De asemenea, sunt menționate următoarele probleme posibile:

  • Confuzie pentru începători din cauza nefuncționării în Perl 7 a unor exemple și recomandări din manuale scrise pentru Perl 5.
  • Nu s-a studiat impactul asupra dezvoltării codului de o linie. Perl este folosit activ nu doar pentru scrierea de scripturi mari, ci și pentru crearea de comenzi scurte și scripturi pentru nevoile administratorilor, în care utilizarea modului strict este excesivă.
  • Distribuțiile se confruntă cu problema livrării simultane a fișierelor executabile pentru rularea scripturilor Perl 7 și Perl 5 (se așteaptă repetarea situației cu Python 2 și 3).
  • Codul scris pentru Perl 7 nu este obligat să precizeze în mod special că nu va putea funcționa în Perl 5, mulți dezvoltatori nu vor specifica versiunea minim acceptată.
  • Diverse utilitare și module legate de Perl 5 vor necesita modificări.
  • Pregătirea Perl 7, din cauza redistribuirii resurselor, va îngheța temporar dezvoltarea de noi funcționalități pentru Perl.
  • Există riscul epuizării și plecării dezvoltatorilor activi ai interpretului Perl, modulelor, instrumentelor și pachetelor însoțitoare din cauza unei mari sarcini suplimentare fără motivație adecvată (nu toți sunt de acord cu necesitatea creării Perl 7).
  • Cultura din comunitate se va schimba fundamental și atitudinea față de stabilitatea Perl.
  • Autoritatea limbajului va fi subminată din cauza criticilor legate de incompatibilitatea Perl 7 cu codul existent, în absența a ceva cu adevărat nou.

Pentru a atenua efectele negative, Dan Book a propus un plan, care va permite evitarea rupturilor de compatibilitate. Se sugerează păstrarea procesului de dezvoltare anterioară și în loc de 5.34.0, următoarei versiuni i se va atribui numărul 7.0.0, în care va fi dezactivată suportul pentru notația indirectă de apel a obiectelor și incluse noi funcționalități, cum ar fi try/catch. Modificări precum „use strict” și „use warnings” vor fi reglementate prin specificarea explicită a versiunii Perl în cod folosind pragma „use v7” (strict este deja activat în mod implicit pentru „use v5.12” și versiunile ulterioare).

Implicit, în interpretator se recomandă păstrarea setului de parametrii, fără a se deosebi de Perl 5, cu excepția procesului standard de curățare a sintaxei învechite, care a fost aplicat și anterior. Suportul pentru vechile capacități și sintaxa deprecate poate fi, la fel ca înainte, oprit conform regulilor existente de tranziție a funcționalității în categoria deprecate. Se propune semnalizarea utilizării în cod a noilor elemente Perl 7 și separarea stilurilor noi de cele vechi prin pragma „use v7”.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster