Ռիսկերի վերլուծություն Perl 7 նախաձեռնության համար

Դան Գիրք (Դան Գիրք), աջակցում է ավելի քան 70 մոդուլներ CPAN-ում, իրականացրել է վերլուծություն ռիսկերը՝ առաջարկվածն իրականացնելիս Perl 7-ի իրականացման ծրագիր. Հիշեցնենք, որ Perl 7 մասնաճյուղում նրանք մտադիր են լռելյայն միացնել խիստ ստուգման ռեժիմը «խիստ», ակտիվացնել «օգտագործման նախազգուշացումները» և փոխել մի շարք պարամետրերի արժեքը, որոնք ազդում են հին կոդի հետ համատեղելիության վրա:

Ակնկալվում է, որ փոփոխությունը կխախտի մեծ թվով CPAN մոդուլներ Perl 7-ում և կպահանջի փոփոխություններ յուրաքանչյուր մոդուլում, որն անիրատեսական է իրականացնել թիրախային տարվա ընթացքում, հատկապես, որ ոչ բոլոր հեղինակներն են հասանելի: Perl 7-ում կատարված փոփոխությունները նաև կկանխեն մոդուլների օգտագործումը, որոնք նախատեսված են ոչ միայն Perl-ի վերջին տարբերակին աջակցելու համար:

Բացի այդ, նշվում են հետևյալ հնարավոր խնդիրները.

  • Սկսնակների շրջանում խառնաշփոթություն՝ Perl 7-ում չաշխատող ձեռնարկներից որոշ օրինակների և առաջարկությունների պատճառով, որոնք գրված են Perl 5-ի համար:
  • Ազդեցությունը մեկ գծերի զարգացման վրա չի ուսումնասիրվել: Perl-ն ակտիվորեն օգտագործվում է ոչ միայն մեծ սկրիպտներ գրելու, այլ նաև ադմինիստրատորների կարիքների համար միակողմանի և կարճ սցենարներ ստեղծելու համար, որոնցում խիստ ռեժիմի օգտագործումն ավելորդ է։
  • Բաշխումները խնդիր ունեն Perl 7 և Perl 5 սցենարներ գործարկելու համար միաժամանակյա գործարկվող ֆայլերի առաքման հետ (ակնկալվում է, որ պատմությունը կկրկնվի Python 2-ի և 3-ի հետ):
  • Perl 7-ի համար գրված կոդը պարտադիր չէ, որ հատուկ նշի, որ այն չի գործարկվի Perl 5-ում, շատ մշակողներ չեն նշի նվազագույն աջակցվող տարբերակը:
  • Perl 5-ի վրա հիմնված տարբեր կոմունալ ծառայություններ և մոդուլներ կպահանջեն ուղղումներ:
  • Perl 7-ի պատրաստումը, ռեսուրսների վերաբաշխման պատճառով, որոշ ժամանակով կսառեցնի Perl-ի նոր հնարավորությունների զարգացումը։
  • Առանց համապատասխան մոտիվացիայի մեծ լրացուցիչ ծանրաբեռնվածության պատճառով Perl-ի թարգմանչի, մոդուլների, գործիքների և ուղեկցող փաթեթների ակտիվ մշակողների հեռանալու վտանգ կա (ոչ բոլորն են համաձայն Perl 7-ի ստեղծման անհրաժեշտության հետ):
  • Հիմնովին կփոխվի համայնքի մշակույթը և Պերլի կայունության նկատմամբ վերաբերմունքը։
  • Լեզվի հեղինակությունը կխաթարվի այն քննադատության պատճառով, որ Perl 7-ը անհամատեղելի է գոյություն ունեցող կոդի հետ սկզբունքորեն նոր բանի բացակայության դեպքում:

Բացասական հետեւանքները հարթելու համար Դեն Բուքն առաջարկեց իր ծրագիրը, որը կխուսափի համատեղելիության բացից։ Առաջարկվում է պահպանել զարգացման նույն գործընթացը և 5.34.0-ի փոխարեն նշանակել հաջորդ թողարկման համարը 7.0.0, որում մենք անջատելու ենք անուղղակի օբյեկտ կանչող նշումների աջակցությունը և միացնելու որոշ նոր հնարավորություններ, ինչպիսիք են try/catch-ը: Փոփոխությունները, ինչպիսիք են «օգտագործել խիստ» և «օգտագործել նախազգուշացումները», առաջարկվում է կարգավորել՝ «օգտագործել v7» պրագմայի միջոցով կոդում հստակորեն նշելով Perl տարբերակը (օգտագործել v5.12» պրագմայի միջոցով (խստությունն արդեն լռելյայն միացված է «օգտագործել vXNUMX» և ավելի նոր թողարկումների համար: )

Լռելյայն, խորհուրդ է տրվում, որ թարգմանիչը պահպանի մի շարք պարամետրեր, որոնք չեն տարբերվում Perl 5-ից, բացառությամբ նախկինում օգտագործված հնացած շարահյուսության մաքրման ստանդարտ գործընթացի: Ավելի հին գործառույթների և հնացած շարահյուսության աջակցությունը կարող է շարունակվել դադարեցվել՝ համաձայն գործող հնացած կանոնների: Առաջարկվում է ազդարարել նոր Perl 7 տարրերի օգտագործումը կոդում և առանձնացնել նոր և հին ոճերը՝ օգտագործելով «օգտագործել v7» պրագման։

Source: opennet.ru

Добавить комментарий