Analiz Risk pou Inisyativ Perl 7 la

Dan liv (Dann Liv), sipòte plis pase 70 modil nan CPAN, te fè analiz la risk lè aplike pwopozisyon an Plan aplikasyon Perl 7. Se pou nou sonje ke nan branch Perl 7 yo gen entansyon pèmèt mòd nan chèk strik "strik" pa default, aktive "itilize avètisman" ak chanje valè a nan yon kantite paramèt ki afekte konpatibilite ak ansyen kòd.

Chanjman an espere kraze yon gwo kantite modil CPAN nan Perl 7 epi mande pou chanjman nan chak modil, ki pa reyalis pou aplike nan ane sib la, espesyalman paske se pa tout otè ki rete disponib. Chanjman yo nan Perl 7 pral anpeche tou itilize modil ki fèt pou sipòte plis pase jis dènye vèsyon Perl la.

Anplis de sa, yo mansyone pwoblèm posib sa yo:

  • Konfizyon nan mitan débutan akòz kèk egzanp ak rekòmandasyon nan manyèl ekri pou Perl 7 pa travay nan Perl 5.
  • Enpak la sou devlopman nan yon sèl-revètman pa te etidye. Perl se aktivman itilize pa sèlman pou ekri gwo scripts, men tou pou kreye yon sèl-revètisman ak scripts kout pou bezwen yo nan administratè, nan ki itilize nan mòd strik pa nesesè.
  • Distribisyon yo gen yon pwoblèm ak similtane livrezon dosye ègzèkutabl yo kouri Perl 7 ak Perl 5 scripts (istwa a espere repete ak Python 2 ak 3).
  • Kòd ekri pou Perl 7 pa bezwen espesyalman sonje ke li pa pral kouri nan Perl 5; anpil devlopè pa pral presize yon vèsyon minimòm sipòte.
  • Plizyè sèvis piblik ak modil ki baze sou Perl 5 pral mande pou koreksyon.
  • Preparasyon Perl 7, akòz realokasyon resous yo, pral jele devlopman nouvo karakteristik Perl pou kèk tan.
  • Gen yon risk pou yo boule ak depa devlopè aktif nan entèprèt Perl, modil, zouti ak pakè akonpayman akòz gwo kantite travay adisyonèl san motivasyon apwopriye (se pa tout moun dakò ak nesesite pou kreye Perl 7).
  • Kilti a nan kominote a ak atitid anvè estabilite nan Perl pral fondamantalman chanje.
  • Otorite lang lan pral febli akòz kritik ke Perl 7 se enkonpatib ak kòd ki egziste deja nan absans la nan yon bagay fondamantalman nouvo.

Pou lis konsekans negatif yo, Dan Book te pwopoze plan li a, ki pral evite yon diferans konpatibilite. Yo pwopoze pou kenbe menm pwosesis devlopman an epi olye pou yo 5.34.0, bay pwochen nimewo lage 7.0.0 la, nan ki nou pral enfim sipò pou notasyon apèl objè endirèk ak pèmèt kèk karakteristik nouvo tankou eseye / trape. Chanjman tankou "itilize strik" ak "itilize avètisman" yo pwopoze pou reglemante lè yo espesifye klèman vèsyon Perl la nan kòd la atravè pragma "itilize v7" (strik la deja aktive pa default pou "itilize v5.12" ak nouvo degaje). ).

Pa defo, li rekòmande pou entèprèt la kenbe yon seri paramèt ki pa diferan de Perl 5, eksepte pwosesis estanda pou netwaye sentaks demode ki te itilize anvan an. Sipò pou karakteristik ki pi ansyen yo ak sentaks depreche ka kontinye sispann an akò ak règ depreche ki deja egziste. Yo pwopoze pou siyal itilizasyon nouvo eleman Perl 7 nan kòd la epi separe nouvo ak ansyen estil lè l sèvi avèk pragma "itilize v7".

Sous: opennet.ru

Add nouvo kòmantè