Analiza rizika za inicijativu Perl 7

Dan Book (Dan Book), podržava više od 70 modula u CPAN-u, izvršio analizu rizike prilikom implementacije predloženog Plan implementacije Perl 7. Podsjetimo, u grani Perl 7 namjeravaju da po defaultu omoguće režim stroge provjere „strogo“, aktiviraju „koristi upozorenja“ i izmijene vrijednost brojnih parametara koji utiču na kompatibilnost sa starim kodom.

Očekuje se da će promjena prekinuti veliki broj CPAN modula u Perl 7 i zahtijevati izmjene svakog modula, što je nerealno implementirati u ciljnoj godini, pogotovo jer nisu svi autori dostupni. Promjene u Perlu 7 će također spriječiti upotrebu modula koji su dizajnirani da podržavaju više od najnovije verzije Perla.

Osim toga, navode se i sljedeći mogući problemi:

  • Zbunjenost među početnicima zbog nekih primjera i preporuka iz priručnika napisanih za Perl 7 koji ne rade u Perl 5.
  • Utjecaj na razvoj jednolinija nije proučavan. Perl se aktivno koristi ne samo za pisanje velikih skripti, već i za kreiranje jednostrukih i kratkih skripti za potrebe administratora, u kojima je upotreba strogog načina rada nepotrebna.
  • Distribucije imaju problem sa istovremenom isporukom izvršnih datoteka za pokretanje Perl 7 i Perl 5 skripti (očekuje se da će se priča ponoviti sa Python-om 2 i 3).
  • Kod napisan za Perl 7 ne mora posebno napomenuti da neće raditi u Perl 5; mnogi programeri neće specificirati minimalnu podržanu verziju.
  • Različiti uslužni programi i moduli bazirani na Perl 5 će zahtijevati ispravke.
  • Priprema Perl 7, zbog preraspodjele resursa, će na neko vrijeme zamrznuti razvoj novih Perl karakteristika.
  • Postoji rizik od sagorevanja i odlaska aktivnih programera Perl interpretera, modula, alata i pratećih paketa zbog velikog dodatnog opterećenja bez odgovarajuće motivacije (ne slažu se svi sa potrebom kreiranja Perl 7).
  • Kultura u zajednici i odnos prema stabilnosti Perla iz temelja će se promijeniti.
  • Autoritet jezika će biti narušen zbog kritika da je Perl 7 nekompatibilan sa postojećim kodom u nedostatku nečeg fundamentalno novog.

Da bi izgladio negativne posljedice, Dan Book je predložio svoj plan, koji će izbjeći jaz u kompatibilnosti. Predloženo je da se zadrži isti razvojni proces i da se umjesto 5.34.0 dodijeli sljedeći broj izdanja 7.0.0, u kojem ćemo onemogućiti podršku za indirektnu notaciju pozivanja objekata i omogućiti neke nove funkcije kao što je try/catch. Predlaže se da se promjene kao što su “koristi strogo” i “koristi upozorenja” reguliraju eksplicitnim specificiranjem Perl verzije u kodu kroz pragmu “koristi v7” (strogo je već omogućeno po defaultu za “koristi v5.12” i novija izdanja ).

Podrazumevano, preporučuje se da interpretator zadrži skup parametara koji se ne razlikuju od Perl 5, sa izuzetkom standardnog procesa za čišćenje zastarele sintakse koji je ranije korišćen. Podrška za starije funkcije i zastarjelu sintaksu može se i dalje ukinuti u skladu s postojećim pravilima zastarjelosti. Predloženo je da se signalizira upotreba novih Perl 7 elemenata u kodu i da se odvoje novi i stari stilovi koristeći pragmu “use v7”.

izvor: opennet.ru

Dodajte komentar