Riskanalys vid genomförandet av Perl 7-initiativet

Dan Book (Dan Book), som stöder mer Àn 70 moduler i CPAN, har genomfört en analys av riskerna vid genomförandet av den föreslagna implementeringsplanen för Perl 7. Vi pÄminner om att man i Perl 7 avser att som standard inkludera strikt kontrolllÀge "strict", aktivera "use warnings" och Àndra vÀrdet pÄ flera parametrar som pÄverkar kompatibiliteten med gammal kod.

Det förvÀntas att förÀndringen kommer att leda till att mÄnga moduler frÄn CPAN slutar fungera i Perl 7 och krÀva Àndringar i varje sÄdan modul, vilket Àr orealistiskt att genomföra under det avsedda Äret, sÀrskilt med tanke pÄ att inte alla författare Àr tillgÀngliga. Nya funktioner i Perl 7 kommer ocksÄ att förhindra anvÀndningen av moduler som Àr utformade för att stödja mer Àn bara den senaste versionen av Perl.

Dessutom nÀmns följande potentiella problem:

  • Förvirring hos nybörjare pĂ„ grund av att vissa exempel och rekommendationer frĂ„n guider skrivna för Perl 5 inte fungerar i Perl 7.
  • Ett okĂ€nt pĂ„verkan pĂ„ utvecklingen av enradiga skript. Perl anvĂ€nds aktivt inte bara för att skriva stora skript, utan ocksĂ„ för att skapa enradiga skript och korta scenarier för administrationsĂ€ndamĂ„l, dĂ€r anvĂ€ndningen av striktlĂ€ge Ă€r överflödig.
  • Distroer kommer att ha problem med att samtidigt distribuera körbara filer för att köra skript i Perl 7 och Perl 5 (en upprepning av historien med Python 2 och 3 förvĂ€ntas).
  • Kod skriven för Perl 7 Ă€r inte skyldig att sĂ€rskilt pĂ„peka att den inte kommer att fungera i Perl 5, mĂ„nga utvecklare kommer inte att ange den minimi stödda versionen.
  • Olika verktyg och moduler som Ă€r knutna till Perl 5 kommer att krĂ€va revisioner.
  • Förberedelserna för Perl 7 kommer pĂ„ grund av omfördelning av resurser att frysa utvecklingen av nya funktioner i Perl under en tid.
  • Det finns en risk för utbrĂ€ndhet och att aktiva utvecklare av Perl-tolken, moduler, verktyg och tillhörande paket försvinner pĂ„ grund av den stora extra bördan utan rĂ€tt motivation (inte alla hĂ„ller med om behovet av att skapa Perl 7).
  • Kulturen i gemenskapen och instĂ€llningen till stabilitet i Perl kommer att förĂ€ndras fundamentalt.
  • SprĂ„kets auktoritet kommer att undergrĂ€vas pĂ„ grund av kritik om bristande kompatibilitet för Perl 7 med befintlig kod utan nĂ„got principiellt nytt.

För att mildra de negativa konsekvenserna föreslog Dan Book sin plan, som gör det möjligt att undvika kompatibilitetsproblem. Det föreslĂ„s att den tidigare utvecklingsprocessen bevaras och att nĂ€sta version fĂ„r numret 7.0.0 istĂ€llet för 5.34.0, dĂ€r stöd för indirekt anrop av objekt inaktiveras och nĂ„gra nya funktioner, som try/catch, inkluderas. Ändringar som 'use strict' och 'use warnings' föreslĂ„s regleras genom att ange versionsnummer för Perl i koden via pragman 'use v7' (strict Ă€r redan aktiverad som standard för 'use v5.12' och nyare versioner).

Som standard rekommenderas det att behÄlla uppsÀttningen av parametrar i tolken, vilket inte skiljer sig frÄn Perl 5, förutom den vanliga processen för att rensa överflödig syntax som tidigare tillÀmpats. Stöd för Àldre funktioner och förÄldrad syntax kan precis som tidigare avbrytas i enlighet med de befintliga reglerna för att klassificera funktionalitet som förÄldrad. Att signalera anvÀndningen av nya element i Perl 7 i koden och för att separera ny och gammal stil föreslÄs göras med pragman 'use v7'.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster