Analiza tveganja za pobudo Perl 7

Dan knjiga (Dan knjiga), ki podpira več kot 70 modulov v CPAN, opravili analizo tveganja pri izvajanju predlaganega Perl 7 implementacijski načrt. Spomnimo se, da nameravajo v veji Perl 7 privzeto omogočiti način strogega preverjanja "strogo", aktivirati "uporabo opozoril" in spremeniti vrednost številnih parametrov, ki vplivajo na združljivost s staro kodo.

Pričakuje se, da bo sprememba pokvarila veliko število modulov CPAN v Perlu 7 in zahtevala spremembe vsakega modula, kar je nerealno izvesti v ciljnem letu, zlasti ker vsi avtorji niso na voljo. Spremembe v Perlu 7 bodo tudi preprečile uporabo modulov, ki so oblikovani tako, da podpirajo več kot le najnovejšo različico Perla.

Poleg tega so omenjene naslednje možne težave:

  • Zmeda med začetniki zaradi nekaterih primerov in priporočil iz priročnikov, napisanih za Perl 7, ki ne delujejo v Perlu 5.
  • Vpliv na razvoj enovrstičnih ni raziskan. Perl se aktivno uporablja ne samo za pisanje velikih skriptov, ampak tudi za ustvarjanje enovrstičnih in kratkih skriptov za potrebe skrbnikov, pri katerih je uporaba strogega načina nepotrebna.
  • Distribucije imajo težave s hkratno dostavo izvedljivih datotek za izvajanje skriptov Perl 7 in Perl 5 (zgodba naj bi se ponovila s Pythonom 2 in 3).
  • Kodi, napisani za Perl 7, ni treba izrecno navesti, da se ne bo izvajala v Perlu 5; mnogi razvijalci ne bodo določili najmanjše podprte različice.
  • Različni pripomočki in moduli, ki temeljijo na Perlu 5, bodo zahtevali popravke.
  • Priprava Perl 7 bo zaradi prerazporeditve virov za nekaj časa zamrznila razvoj novih funkcij Perla.
  • Obstaja nevarnost izgorelosti in odhoda aktivnih razvijalcev tolmača Perl, modulov, orodij in spremljajočih paketov zaradi velike dodatne obremenitve brez ustrezne motivacije (ne strinjajo se vsi s potrebo po izdelavi Perla 7).
  • Kultura v skupnosti in odnos do stabilnosti Perla se bosta temeljito spremenila.
  • Avtoriteta jezika bo spodkopana zaradi kritike, da je Perl 7 nezdružljiv z obstoječo kodo, če ni nečesa bistveno novega.

Da bi ublažil negativne posledice, je Dan Book predlagal svoj načrt, s katerim se bo izognil vrzeli v združljivosti. Predlagano je, da ohranimo enak razvojni proces in namesto 5.34.0 naslednji izdaji dodelimo številko 7.0.0, v kateri bomo onemogočili podporo za zapis posrednega klicanja objektov in omogočili nekatere nove funkcije, kot je poskusi/ulovi. Predlagano je, da se spremembe, kot sta »use strict« in »use warnings« urejajo z izrecno navedbo različice Perla v kodi prek pragme »use v7« (strogo je že privzeto omogočeno za »use v5.12« in novejše izdaje ).

Privzeto je priporočljivo, da tolmač obdrži niz parametrov, ki se ne razlikujejo od Perl 5, z izjemo standardnega postopka za čiščenje zastarele sintakse, ki je bil uporabljen prej. Podpora za starejše funkcije in zastarelo sintakso se lahko še naprej ukinja v skladu z obstoječimi pravili za opustitev. Predlagano je signalizirati uporabo novih elementov Perl 7 v kodi in ločiti nove in stare sloge z uporabo pragme »use v7«.

Vir: opennet.ru

Dodaj komentar