Riska analīze Perl 7 iniciatīvai

Dens grāmata (Dens Grāmata), kas atbalsta vairāk nekā 70 CPAN moduļus, veica analīzi riskus, īstenojot ierosināto Perl 7 ieviešanas plāns. Atcerēsimies, ka Perl 7 filiālē viņi plāno pēc noklusējuma iespējot stingras pārbaudes režīmu "stingri", aktivizēt "izmantot brīdinājumus" un mainīt vairāku parametru vērtību, kas ietekmē saderību ar veco kodu.

Paredzams, ka izmaiņas izjauks lielu skaitu CPAN moduļu programmā Perl 7 un prasīs izmaiņas katrā modulī, ko nav reāli ieviest mērķa gadā, jo īpaši tāpēc, ka ne visi autori joprojām ir pieejami. Izmaiņas Perl 7 arī neļaus izmantot moduļus, kas paredzēti, lai atbalstītu ne tikai jaunāko Perl versiju.

Turklāt tiek minētas šādas iespējamās problēmas:

  • Apjukums iesācēju vidū, jo daži piemēri un ieteikumi no rokasgrāmatām, kas rakstītas Perl 7, nedarbojas Perl 5.
  • Ietekme uz vienlīniju attīstību nav pētīta. Perl tiek aktīvi izmantots ne tikai lielu skriptu rakstīšanai, bet arī vienrindu un īsu skriptu veidošanai administratoru vajadzībām, kuros stingrā režīma izmantošana nav nepieciešama.
  • Izplatīšanām ir problēmas ar izpildāmo failu vienlaicīgu piegādi, lai palaistu Perl 7 un Perl 5 skriptus (paredzams, ka stāsts atkārtosies ar Python 2 un 3).
  • Kodam, kas rakstīts Perl 7, nav īpaši jānorāda, ka tas nedarbosies Perl 5; daudzi izstrādātāji nenorādīs minimālo atbalstīto versiju.
  • Dažādām utilītprogrammām un moduļiem, kuru pamatā ir Perl 5, būs nepieciešami labojumi.
  • Perl 7 sagatavošana resursu pārdales dēļ uz kādu laiku iesaldēs jaunu Perl līdzekļu izstrādi.
  • Pastāv risks izdegt un aiziet no aktīvajiem Perl tulka, moduļu, rīku un pavadošo pakotņu izstrādātājiem lielās papildu darba slodzes dēļ bez pienācīgas motivācijas (ne visi piekrīt Perl 7 izveides nepieciešamībai).
  • Pamatīgi mainīsies kultūra sabiedrībā un attieksme pret Perl stabilitāti.
  • Valodas autoritāte tiks iedragāta kritikas dēļ, ka Perl 7 nav saderīgs ar esošo kodu, ja nav kaut kā pilnīgi jauna.

Lai izlīdzinātu negatīvās sekas, Dens Grāmats ierosināja savu plānu, kas ļaus izvairīties no saderības plaisas. Tiek ierosināts saglabāt to pašu izstrādes procesu un 5.34.0 vietā piešķirt nākamo laidiena numuru 7.0.0, kurā mēs atspējosim atbalstu netiešai objektu izsaukšanai un iespējosim dažas jaunas funkcijas, piemēram, try/catch. Tiek ierosināts regulēt tādas izmaiņas kā "izmantot stingri" un "izmantot brīdinājumus", skaidri norādot Perl versiju kodā, izmantojot pragmu "use v7" (stingra jau pēc noklusējuma ir iespējota "izmantot v5.12" un jaunākos laidienos. ).

Pēc noklusējuma ir ieteicams, lai tulks saglabātu parametru kopu, kas neatšķiras no Perl 5, izņemot standarta procesu novecojušas sintakses tīrīšanai, kas tika izmantots iepriekš. Vecāku līdzekļu un novecojušas sintakses atbalsts var tikt pārtraukts saskaņā ar esošajiem novecošanas noteikumiem. Tiek ierosināts signalizēt par jaunu Perl 7 elementu izmantošanu kodā un atdalīt jaunos un vecos stilus, izmantojot pragmu “use v7”.

Avots: opennet.ru

Pievieno komentāru