Dan Book (), som stöder mer Àn 70 moduler i CPAN, av riskerna vid genomförandet av den föreslagna . 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
