Risicoanalyse bij de uitvoering van het Perl 7-initiatief

Dan Book (Dan Book), die meer dan 70 modules in CPAN ondersteunt, heeft een analyse uitgevoerd van de risico's bij de implementatie van het voorgestelde implementatieplan voor Perl 7. Ter herinnering, in de Perl 7-branch is het de intentie om standaard de strikte controlemodus 'strict' in te schakelen, 'use warnings' te activeren en de waarde van verschillende parameters die de compatibiliteit met oude code beĆÆnvloeden, te veranderen.

Het wordt verwacht dat deze wijziging zal leiden tot incompatibiliteit van veel modules uit CPAN in Perl 7 en dat wijzigingen in elke dergelijke module vereist zullen zijn, wat moeilijk te realiseren is binnen het geplande jaar, vooral omdat niet alle auteurs beschikbaar blijven. De vernieuwingen in Perl 7 zullen ook niet toestaan dat modules die zijn ontworpen om niet alleen de laatste versie van Perl te ondersteunen, worden gebruikt.

Daarnaast worden de volgende mogelijke problemen genoemd:

  • Verwarring bij beginners door incompatibiliteit van bepaalde voorbeelden en aanbevelingen uit handleidingen die zijn geschreven voor Perl 5 in Perl 7.
  • Het effect op de ontwikkeling van one-liners is niet onderzocht. Perl wordt niet alleen actief gebruikt voor het schrijven van grote scripts, maar ook voor het creĆ«ren van one-liners en korte scripts voor de behoeften van beheerders, waarbij het gebruik van de strikte modus overbodig is.
  • Distributies hebben problemen met het gelijktijdig leveren van uitvoerbare bestanden voor het uitvoeren van scripts in Perl 7 en Perl 5 (herhaling van de geschiedenis met Python 2 en 3 wordt verwacht).
  • Code geschreven voor Perl 7 hoeft niet expliciet aan te geven dat het niet zal werken in Perl 5, veel ontwikkelaars zullen de minimaal ondersteunde versie niet vermelden.
  • Verschillende hulpprogramma's en modules die zijn gebaseerd op Perl 5, vereisen correcties.
  • De voorbereiding van Perl 7 zal door herverdeling van middelen tijdelijk de ontwikkeling van nieuwe mogelijkheden voor Perl bevriezen.
  • Er ontstaat een risico op burn-out en het vertrek van actieve ontwikkelaars van de Perl-interpreter, modules, tools en begeleidende pakketten door de toename van zware belasting zonder voldoende motivatie (niet iedereen is het eens met de noodzaak om Perl 7 te creĆ«ren).
  • De cultuur binnen de gemeenschap en de houding ten opzichte van de stabiliteit van Perl zullen fundamenteel veranderen.
  • Het gezag van de taal zal worden ondermijnd door kritiek op de incompatibiliteit van Perl 7 met bestaande code zonder echt iets principieel nieuws.

Om de negatieve gevolgen te verzachten, heeft Dan Book zijn plan voorgesteld, waarmee compatibiliteitsproblemen kunnen worden voorkomen. Er wordt voorgesteld om het huidige ontwikkelingsproces te behouden en in plaats van 5.34.0 het volgende nummer 7.0.0 toe te wijzen, waarin de ondersteuning voor indirecte objectaanroepnotatie wordt uitgeschakeld en enkele nieuwe mogelijkheden worden toegevoegd, zoals try/catch. Wijzigingen zoals "use strict" en "use warnings" moeten worden geregeld door expliciet de versie van Perl in de code aan te geven met de pragma "use v7" (strict is al standaard ingeschakeld voor "use v5.12" en nieuwere versies).

Standaard wordt aanbevolen om in de interpreter een parameter set te behouden die niet verschilt van Perl 5, met uitzondering van het standaard schoonmaakproces van verouderde syntaxis dat eerder werd toegepast. De ondersteuning voor oude mogelijkheden en verouderde syntaxis kan net als voorheen worden stopgezet volgens de bestaande regels voor het omzetten van functionaliteit naar verouderd. Het signaleren van het gebruik van nieuwe elementen van Perl 7 in de code en het scheiden van de nieuwe en oude stijlen wordt voorgesteld met de pragma "use v7".

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster