Risiko-analise vir die Perl 7-inisiatief

Dan Boek (Dan Boek), wat meer as 70 modules in CPAN ondersteun, die ontleding gedoen het risiko's by die implementering van die voorgestelde Perl 7 implementeringsplan. Laat ons onthou dat hulle in die Perl 7-tak van plan is om die streng kontrolemodus "streng" by verstek te aktiveer, "gebruik waarskuwings" te aktiveer en die waarde van 'n aantal parameters te verander wat versoenbaarheid met ou kode beïnvloed.

Die verandering sal na verwagting 'n groot aantal CPAN-modules in Perl 7 breek en veranderinge aan elke module vereis, wat onrealisties is om binne die teikenjaar te implementeer, veral aangesien nie alle outeurs beskikbaar bly nie. Die veranderinge in Perl 7 sal ook die gebruik van modules verhoed wat ontwerp is om meer as net die nuutste weergawe van Perl te ondersteun.

Daarbenewens word die volgende moontlike probleme genoem:

  • Verwarring onder beginners as gevolg van 'n paar voorbeelde en aanbevelings uit handleidings geskryf vir Perl 7 wat nie in Perl 5 werk nie.
  • Die impak op die ontwikkeling van eenliners is nie bestudeer nie. Perl word aktief gebruik, nie net vir die skryf van groot skrifte nie, maar ook vir die skep van eenlyn- en kort skrifte vir die behoeftes van administrateurs, waarin die gebruik van streng modus onnodig is.
  • Verspreidings het 'n probleem met die gelyktydige lewering van uitvoerbare lêers om Perl 7 en Perl 5 skrifte te laat loop (die storie sal na verwagting met Python 2 en 3 herhaal word).
  • Kode geskryf vir Perl 7 hoef nie spesifiek daarop te let dat dit nie in Perl 5 sal loop nie; baie ontwikkelaars sal nie 'n minimum ondersteunde weergawe spesifiseer nie.
  • Verskeie nutsprogramme en modules gebaseer op Perl 5 sal regstellings vereis.
  • Die voorbereiding van Perl 7, as gevolg van die hertoewysing van hulpbronne, sal die ontwikkeling van nuwe Perl-kenmerke vir 'n geruime tyd vries.
  • Daar is 'n risiko van uitbranding en vertrek van aktiewe ontwikkelaars van die Perl-tolk, modules, gereedskap en gepaardgaande pakkette as gevolg van die groot bykomende werklading sonder behoorlike motivering (nie almal stem saam met die behoefte om Perl 7 te skep nie).
  • Die kultuur in die gemeenskap en houding teenoor die stabiliteit van Perl sal fundamenteel verander.
  • Die gesag van die taal sal ondermyn word as gevolg van kritiek dat Perl 7 onversoenbaar is met bestaande kode in die afwesigheid van iets fundamenteel nuuts.

Om die negatiewe gevolge glad te maak, het Dan Book sy plan voorgestel, wat 'n versoenbaarheidsgaping sal vermy. Daar word voorgestel om dieselfde ontwikkelingsproses te handhaaf en in plaas van 5.34.0, die volgende vrystellingnommer 7.0.0 toe te ken, waarin ons ondersteuning vir indirekte objekoproepnotasie sal deaktiveer en 'n paar nuwe kenmerke soos probeer/vang aktiveer. Veranderinge soos "gebruik streng" en "gebruik waarskuwings" word voorgestel om gereguleer te word deur die Perl-weergawe uitdruklik in die kode te spesifiseer deur die "gebruik v7"-pragma (streng is reeds by verstek geaktiveer vir "gebruik v5.12" en nuwer vrystellings ).

By verstek word aanbeveel dat die tolk 'n stel parameters behou wat nie van Perl 5 verskil nie, met die uitsondering van die standaardproses vir die skoonmaak van verouderde sintaksis wat voorheen gebruik is. Ondersteuning vir ouer kenmerke en verouderde sintaksis kan voortgaan om gestaak te word in ooreenstemming met bestaande afskaffingsreëls. Daar word voorgestel om die gebruik van nuwe Perl 7-elemente in die kode aan te dui en nuwe en ou style te skei deur die "gebruik v7"-pragma te gebruik.

Bron: opennet.ru

Voeg 'n opmerking