Perl 7 -aloitteen riskianalyysi

Dan kirja (Dan kirja), joka tukee yli 70 moduulia CPANissa, suoritti analyysin ehdotusta toteutettaessa Perl 7 toteutussuunnitelma. Muistetaan, että Perl 7 -haarassa he aikovat ottaa oletuksena käyttöön tiukan tarkistustilan "tiukka", aktivoida "käyttövaroitukset" ja muuttaa useiden parametrien arvoa, jotka vaikuttavat yhteensopivuus vanhan koodin kanssa.

Muutoksen odotetaan rikkovan suuren määrän CPAN-moduuleja Perl 7:ssä ja vaativan muutoksia jokaiseen moduuliin, mikä on epärealistista toteuttaa tavoitevuoden aikana, varsinkin kun kaikki kirjoittajat eivät ole saatavilla. Perl 7:n muutokset estävät myös sellaisten moduulien käytön, jotka on suunniteltu tukemaan muutakin kuin Perlin uusinta versiota.

Lisäksi mainitaan seuraavat mahdolliset ongelmat:

  • Sekaannusta aloittelijoiden keskuudessa johtuen joistakin Perl 7:lle kirjoitetuista oppaista ja suosituksista, jotka eivät toimi Perl 5:ssä.
  • Vaikutusta one-linerin kehitykseen ei ole tutkittu. Perliä käytetään aktiivisesti suurten skriptien kirjoittamisen lisäksi myös yksilinjaisten ja lyhyiden komentosarjojen luomiseen ylläpitäjien tarpeisiin, joissa tiukan tilan käyttö on tarpeetonta.
  • Jakeluilla on ongelma suoritettavien tiedostojen toimittamisessa samanaikaisesti Perl 7- ja Perl 5 -skriptien suorittamiseen (tarinan odotetaan toistuvan Python 2:n ja 3:n kanssa).
  • Perl 7:lle kirjoitetun koodin ei tarvitse erikseen mainita, että se ei toimi Perl 5:ssä; monet kehittäjät eivät määritä tuettua vähimmäisversiota.
  • Useat Perl 5:een perustuvat apuohjelmat ja moduulit vaativat korjauksia.
  • Perl 7:n valmistelu resurssien uudelleenjakamisen vuoksi jäädyttää uusien Perl-ominaisuuksien kehittämisen joksikin aikaa.
  • Perl-tulkin, moduulien, työkalujen ja mukana tulevien pakettien aktiivisten kehittäjien loppuunpalamisen ja lähtemisen riski on olemassa suuren lisätyömäärän vuoksi ilman asianmukaista motivaatiota (kaikki eivät ole samaa mieltä Perl 7:n luomisen tarpeesta).
  • Yhteisön kulttuuri ja asenne Perlin vakauteen muuttuvat perusteellisesti.
  • Kielen arvovaltaa heikentää kritiikki, jonka mukaan Perl 7 ei ole yhteensopiva olemassa olevan koodin kanssa ilman jotain täysin uutta.

Tasoittaakseen kielteisiä seurauksia Dan Book ehdotti suunnitelmaansa, joka välttää yhteensopivuusvajeen. Ehdotetaan, että säilytetään sama kehitysprosessi ja 5.34.0:n sijaan annetaan seuraava julkaisunumero 7.0.0, jossa poistamme epäsuoran objektikutsun merkinnän tuen ja otamme käyttöön joitain uusia ominaisuuksia, kuten try/catch. Muutoksia, kuten "käytä sääntöä" ja "käyttövaroituksia", ehdotetaan säädeltäväksi määrittelemällä koodissa nimenomaisesti Perl-versio "use v7" -käytännön kautta (tiukka on jo oletusarvoisesti käytössä "use v5.12" ja uudemmissa julkaisuissa ).

Oletuksena on suositeltavaa, että tulkki säilyttää joukon parametreja, jotka eivät eroa Perl 5:stä, lukuun ottamatta aiemmin käytettyä vanhentuneen syntaksin puhdistusprosessia. Vanhojen ominaisuuksien ja vanhentuneen syntaksin tuki voidaan edelleen lopettaa olemassa olevien vanhentumissääntöjen mukaisesti. Uusien Perl 7 -elementtien käytöstä koodissa ehdotetaan signaloivan ja uudet ja vanhat tyylit erotetaan toisistaan ​​"use v7" -käytännöllä.

Lähde: opennet.ru

Lisää kommentti