Perl 7 algatuse riskianalüüs

Dan raamat (Dan raamat), mis toetab enam kui 70 CPAN-i moodulit, analüüsi läbi viinud kavandatud rakendamisel Perl 7 rakendusplaan. Tuletagem meelde, et Perl 7 harus kavatsevad nad vaikimisi lubada range kontrolli režiimi "range", aktiveerida "kasuta hoiatusi" ja muuta mitmete parameetrite väärtust, mis mõjutavad ühilduvust vana koodiga.

Eeldatakse, et muudatus purustab suure hulga Perl 7 CPAN-mooduleid ja nõuab muudatusi igas moodulis, mille rakendamine sihtaasta jooksul on ebareaalne, eriti kuna kõik autorid pole saadaval. Perl 7 muudatused takistavad ka selliste moodulite kasutamist, mis on loodud toetama enamat kui ainult Perli uusimat versiooni.

Lisaks mainitakse järgmisi võimalikke probleeme:

  • Algajate seas on segadus mõne Perl 7 jaoks kirjutatud juhendite näidete ja soovituste tõttu, mis ei tööta Perl 5-s.
  • Mõju ühevooderdiste arengule ei ole uuritud. Perli kasutatakse aktiivselt mitte ainult suurte skriptide kirjutamiseks, vaid ka administraatorite vajadustele vastavate üherealiste ja lühikeste skriptide loomiseks, mille puhul range režiimi kasutamine pole vajalik.
  • Distributsioonidel on probleem Perl 7 ja Perl 5 skriptide käitamiseks käivitatavate failide samaaegse edastamisega (lugu peaks korduma Python 2 ja 3 puhul).
  • Perl 7 jaoks kirjutatud kood ei pea eraldi märkima, et see Perl 5-s ei tööta; paljud arendajad ei määra minimaalset toetatud versiooni.
  • Parandusi nõuavad mitmesugused Perl 5-l põhinevad utiliidid ja moodulid.
  • Perl 7 ettevalmistamine ressursside ümberjagamise tõttu peatab mõneks ajaks uute Perli funktsioonide arendamise.
  • Suure lisatöökoormuse tõttu on oht läbi põleda ja Perli tõlgi, moodulite, tööriistade ja kaasnevate pakettide aktiivsed arendajad ilma korraliku motivatsioonita (kõik ei nõustu Perl 7 loomise vajadusega) ära.
  • Kogukonna kultuur ja suhtumine Perli stabiilsusesse muutuvad põhjalikult.
  • Keele autoriteeti kahjustab kriitika, et Perl 7 ei ühildu olemasoleva koodiga, kuna puudub midagi põhimõtteliselt uut.

Negatiivsete tagajärgede silumiseks pakkus Dan Book välja oma plaani, mis väldib ühilduvuslünka. Tehakse ettepanek säilitada sama arendusprotsess ja määrata 5.34.0 asemel järgmine väljalaskenumber 7.0.0, milles keelame kaudse objekti kutsumise tähistuse toe ja lubame mõned uued funktsioonid, nagu proovi/püüa. Selliseid muudatusi nagu "kasuta ranget" ja "kasutage hoiatusi" soovitatakse reguleerida Perli versiooni selgesõnalise määramisega koodis pragma "kasuta v7" kaudu (range on juba vaikimisi lubatud "kasuta v5.12" ja uuemate versioonide puhul ).

Vaikimisi on soovitatav, et tõlk säilitaks parameetrite komplekti, mis ei erine Perl 5-st, välja arvatud vananenud süntaksi puhastamise standardprotsess, mida kasutati varem. Vanemate funktsioonide ja aegunud süntaksi tugi võib vastavalt olemasolevatele aegumisreeglitele jätkuvalt katkestada. Tehakse ettepanek anda märku uute Perl 7 elementide kasutamisest koodis ning eraldada uued ja vanad stiilid, kasutades pragmat “use v7”.

Allikas: opennet.ru

Lisa kommentaar