Risikaanalyse ved gennemførelsen af Perl 7-initiativer

Dan Book (Dan Book), der understøtter mere end 70 moduler i CPAN, har gennemført en analyse af risiciene ved implementeringen af den foreslåede Perl 7 implementeringsplan.Det skal bemærkes, at Perl 7 planen har til hensigt at inkludere strengt kontrolmodus 'strict' som standard, aktivere 'use warnings' og ændre værdien af flere parametre, der påvirker kompatibiliteten med gammelt kode.

Det forventes, at ændringen vil forårsage, at mange moduler fra CPAN ikke fungerer i Perl 7 og vil kræve ændringer i hvert sådant modul, hvilket er urealistisk at gennemføre inden for det planlagte år, især da ikke alle forfattere er tilgængelige. Nyttige funktioner fra Perl 7 vil heller ikke tillade brugen af moduler, der er designet til at understøtte ikke blot den nyeste version af Perl.

Derudover nævnes sådanne mulige problemer:

  • Forvirring blandt nybegyndere på grund af ukorrekt funktionalitet i Perl 7 af nogle eksempler og anbefalinger fra vejledninger skrevet til Perl 5.
  • Indvirkningen på udviklingen af en-liners er ikke blevet undersøgt. Perl bruges aktivt ikke blot til at skrive store scripts, men også til at skabe en-liners og korte scripts til administratorers behov, hvor brugen af 'strict' er unødvendig.
  • Distributioner står over for problemet med samtidig levering af eksekverbare filer til at køre scripts for både Perl 7 og Perl 5 (et gentagelse af historien med Python 2 og 3 forventes).
  • Kode skrevet til Perl 7 behøver ikke at understrege, at den ikke vil fungere i Perl 5, mange udviklere vil ikke angive den mindste understøttede version.
  • Forskellige værktøjer og moduler, der er knyttet til Perl 5, vil kræve ændringer.
  • Forberedelserne til Perl 7 vil på grund af omfordeling af ressourcer midlertidigt fryse udviklingen af nye funktioner i Perl.
  • Der opstår en risiko for udbrændthed og forladelse af aktive udviklere af Perl-tolkeren, moduler, værktøjer og tilknyttede pakker på grund af en betydelig ekstra belastning uden passende motivation (ikke alle er enige i nødvendigheden af at skabe Perl 7).
  • Kulturen i fællesskabet og holdningen til Perl's stabilitet vil fundamentalt ændre sig.
  • Sprogautoriteten vil blive undermineret på grund af kritik af Perl 7's inkompatibilitet med eksisterende kode uden noget grundlæggende nyt.

For at afbøde de negative konsekvenser foreslog Dan Book sin plan, som skal undgå kompatibilitetsproblemer. Det foreslås at bevare den tidligere udviklingsproces og i stedet give den næste udgave nummer 7.0.0, hvor støtte til indirekte notation af objektdestinationer deaktiveres, og nogle nye funktioner, såsom try/catch, inkluderes. Ændringer som "use strict" og "use warnings" foreslås at reguleres ved klart at angive versionen af Perl i koden via pragmatikken "use v7" (strict er allerede aktiveret som standard for "use v5.12" og nyere udgaver).

Som standard anbefales det at bevare sættet af indstillinger i fortolkeren uændret fra Perl 5, bortset fra den standardiserede proces til oprydning af forældet syntaks, som tidligere blev anvendt. Støtten til gamle funktioner og forældet syntaks kan som før ophøre i overensstemmelse med de eksisterende regler for oversættelse af funktionalitet til kategorien forældet. Det foreslås at signalere brugen af nye elementer i Perl 7 i koden og for at adskille nye og gamle stilarter ved hjælp af pragmatikken "use v7".

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster