Analiza e rrezikut për Iniciativën Perl 7

Libri Dan (Libri Dan), duke mbështetur më shumë se 70 module në CPAN, ka kryer analizën rreziqet gjatë zbatimit të propozimit Plani i zbatimit të Perl 7. Le të kujtojmë se në degën Perl 7 ata synojnë të aktivizojnë si parazgjedhje modalitetin e kontrollit të rreptë "të rreptë", të aktivizojnë "paralajmërimet e përdorimit" dhe të ndryshojnë vlerën e një numri parametrash që ndikojnë në pajtueshmërinë me kodin e vjetër.

Ndryshimi pritet të thyejë një numër të madh modulesh CPAN në Perl 7 dhe të kërkojë ndryshime në secilin modul, gjë që është joreale të zbatohet brenda vitit të synuar, veçanërisht pasi jo të gjithë autorët mbeten të disponueshëm. Ndryshimet në Perl 7 do të parandalojnë gjithashtu përdorimin e moduleve që janë krijuar për të mbështetur më shumë sesa thjesht versionin më të fundit të Perl.

Përveç kësaj, përmenden problemet e mëposhtme të mundshme:

  • Konfuzion midis fillestarëve për shkak të disa shembujve dhe rekomandimeve nga manualet e shkruara për Perl 7 që nuk funksionon në Perl 5.
  • Ndikimi në zhvillimin e një linjës nuk është studiuar. Perl përdoret në mënyrë aktive jo vetëm për shkrimin e skripteve të mëdha, por edhe për krijimin e skripteve me një linjë dhe të shkurtër për nevojat e administratorëve, në të cilat përdorimi i mënyrës strikte është i panevojshëm.
  • Shpërndarjet kanë një problem me dërgimin e njëkohshëm të skedarëve të ekzekutueshëm për të ekzekutuar skriptet Perl 7 dhe Perl 5 (historia pritet të përsëritet me Python 2 dhe 3).
  • Kodi i shkruar për Perl 7 nuk duhet të theksojë në mënyrë specifike se nuk do të funksionojë në Perl 5; shumë zhvillues nuk do të specifikojnë një version minimal të mbështetur.
  • Shërbime të ndryshme dhe module të bazuara në Perl 5 do të kërkojnë korrigjime.
  • Përgatitja e Perl 7, për shkak të rialokimit të burimeve, do të ngrijë zhvillimin e veçorive të reja të Perl për ca kohë.
  • Ekziston rreziku i djegies dhe largimit të zhvilluesve aktivë të interpretuesit Perl, moduleve, mjeteve dhe paketave shoqëruese për shkak të ngarkesës së madhe shtesë të punës pa motivimin e duhur (jo të gjithë pajtohen me nevojën për të krijuar Perl 7).
  • Kultura në komunitet dhe qëndrimi ndaj stabilitetit të Perl do të ndryshojë rrënjësisht.
  • Autoriteti i gjuhës do të minohet për shkak të kritikave se Perl 7 është i papajtueshëm me kodin ekzistues në mungesë të diçkaje thelbësisht të re.

Për të zbutur pasojat negative, Dan Book propozoi planin e tij, i cili do të shmangë një boshllëk përputhshmërie. Propozohet të ruhet i njëjti proces zhvillimi dhe në vend të 5.34.0, të caktohet numri tjetër i lëshimit 7.0.0, në të cilin do të çaktivizojmë mbështetjen për shënimin e thirrjes indirekte të objektit dhe do të aktivizojmë disa veçori të reja si try/catch. Ndryshime të tilla si "përdorni strikte" dhe "paralajmërime të përdorimit" propozohen të rregullohen duke specifikuar në mënyrë eksplicite versionin Perl në kod përmes pragmës "përdorni v7" (rreptësisht tashmë është aktivizuar si parazgjedhje për "përdorni v5.12" dhe lëshime më të reja ).

Si parazgjedhje, rekomandohet që përkthyesi të mbajë një grup parametrash që nuk ndryshojnë nga Perl 5, me përjashtim të procesit standard për pastrimin e sintaksës së vjetëruar që është përdorur më parë. Mbështetja për veçoritë e vjetra dhe sintaksa e vjetëruar mund të vazhdojë të ndërpritet në përputhje me rregullat ekzistuese të zhvlerësimit. Propozohet të sinjalizohet përdorimi i elementeve të reja Perl 7 në kod dhe të ndahen stilet e reja dhe të vjetra duke përdorur pragmën "përdor v7".

Burimi: opennet.ru

Shto një koment