Riska Analizo por la Iniciato Perl 7

Dan Book (Dan Book), subtenante pli ol 70 modulojn en CPAN, faris la analizon riskoj dum efektivigo de la proponita Plano de efektivigo de Perl 7. Ni memoru, ke en la branĉo Perl 7 ili intencas defaŭlte ebligi la striktan kontrolan reĝimon "strikta", aktivigi "uzu avertojn" kaj ŝanĝi la valoron de kelkaj parametroj, kiuj influas kongruecon kun malnova kodo.

La ŝanĝo estas atendita rompi grandan nombron da CPAN-moduloj en Perl 7 kaj postuli ŝanĝojn al ĉiu modulo, kio estas nerealisma efektivigi ene de la celjaro, precipe ĉar ne ĉiuj aŭtoroj restas disponeblaj. La ŝanĝoj en Perl 7 ankaŭ malhelpos la uzon de moduloj kiuj estas dizajnitaj por subteni pli ol nur la plej novan version de Perl.

Krome, la sekvaj eblaj problemoj estas menciitaj:

  • Konfuzo inter komencantoj pro kelkaj ekzemploj kaj rekomendoj de manlibroj verkitaj por Perl 7 ne funkcias en Perl 5.
  • La efiko al la disvolviĝo de unu-ekskursoŝipoj ne estis studita. Perl estas aktive uzata ne nur por verki grandajn skriptojn, sed ankaŭ por krei unu-liniojn kaj mallongajn skriptojn por la bezonoj de administrantoj, en kiuj la uzo de strikta reĝimo estas nenecesa.
  • Distribuoj havas problemon kun samtempe liverado de ruleblaj dosieroj por ruli Perl 7 kaj Perl 5-skriptojn (la rakonto estas atendita ripetiĝi kun Python 2 kaj 3).
  • Kodo skribita por Perl 7 ne devas specife noti, ke ĝi ne funkcios en Perl 5; multaj programistoj ne specifos minimuman subtenata version.
  • Diversaj iloj kaj moduloj bazitaj sur Perl 5 postulos korektojn.
  • La preparado de Perl 7, pro la redistribuo de rimedoj, frostigos la evoluon de novaj Perl-funkcioj dum iom da tempo.
  • Estas risko de elĉerpiĝo kaj foriro de aktivaj programistoj de la Perl-interpretisto, moduloj, iloj kaj akompanaj pakaĵoj pro la granda kroma laborŝarĝo sen taŭga instigo (ne ĉiuj konsentas pri la bezono krei Perl 7).
  • La kulturo en la komunumo kaj sinteno al la stabileco de Perl esence ŝanĝiĝos.
  • La aŭtoritato de la lingvo estos subfosita pro kritiko ke Perl 7 estas nekongrua kun ekzistanta kodo en foresto de io fundamente nova.

Por glatigi la negativajn sekvojn, Dan Book proponis sian planon, kiu evitos kongruecfenon. Oni proponas konservi la saman disvolvan procezon kaj anstataŭ 5.34.0, asigni la sekvan eldonan numeron 7.0.0, en kiu ni malŝaltos subtenon por nerekta objekta voknotacio kaj ebligos kelkajn novajn funkciojn kiel try/catch. Ŝanĝoj kiel ekzemple "uzo strikta" kaj "uzo avertoj" estas proponitaj esti reguligitaj eksplicite specifante la Perl-version en la kodo per la "uzo v7" pragmo (strikta jam estas ebligita defaŭlte por "uzo v5.12" kaj pli novaj eldonoj. ).

Defaŭlte, estas rekomendite ke la interpretisto konservu aron de parametroj kiuj ne diferencas de Perl 5, kun la escepto de la norma procezo por purigado de malnoviĝinta sintakso kiu estis uzita antaŭe. Subteno por pli malnovaj funkcioj kaj malrekomendita sintakso povas daŭre esti nuligita laŭ ekzistantaj malreguloj. Oni proponas signali la uzon de novaj elementoj de Perl 7 en la kodo kaj apartigi novajn kaj malnovajn stilojn uzante la pragmaron "use v7".

fonto: opennet.ru

Aldoni komenton