Դան Գիրք (
Ակնկալվում է, որ փոփոխությունը կխախտի մեծ թվով 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