Perl 7 tashabbusi uchun xavf tahlili

Dan kitobi (Dan kitob), CPAN-da 70 dan ortiq modullarni qo'llab-quvvatlash, tahlilini amalga oshirdi taklif qilinganlarni amalga oshirishda xavflar Perl 7 amalga oshirish rejasi. Eslatib o'tamiz, Perl 7 filialida ular sukut bo'yicha "qat'iy" qattiq tekshirish rejimini yoqish, "ogohlantirishlardan foydalanish" ni faollashtirish va eski kod bilan muvofiqlikka ta'sir qiluvchi bir qator parametrlarning qiymatini o'zgartirish niyatida.

O'zgartirish Perl 7 da ko'p sonli CPAN modullarini buzishi va har bir modulga o'zgartirishlar kiritishni talab qilishi kutilmoqda, bu maqsadli yil ichida amalga oshirish real emas, ayniqsa barcha mualliflar mavjud bo'lmagani uchun. Perl 7-dagi o'zgarishlar Perl-ning so'nggi versiyasidan ko'proq narsani qo'llab-quvvatlash uchun mo'ljallangan modullardan foydalanishni ham oldini oladi.

Bundan tashqari, quyidagi mumkin bo'lgan muammolar qayd etilgan:

  • Perl 7 da ishlamaydigan Perl 5 uchun yozilgan qo'llanmalardagi ba'zi misollar va tavsiyalar tufayli yangi boshlanuvchilar orasida chalkashlik.
  • Bir-laynerlarning rivojlanishiga ta'siri o'rganilmagan. Perl nafaqat katta hajmdagi skriptlarni yozish uchun, balki ma'murlar ehtiyojlari uchun qat'iy rejimdan foydalanish kerak bo'lmagan bir qatorli va qisqa skriptlarni yaratish uchun ham faol qo'llaniladi.
  • Tarqatishlarda Perl 7 va Perl 5 skriptlarini ishga tushirish uchun bajariladigan fayllarni bir vaqtning o'zida yetkazib berish bilan bog'liq muammolar mavjud (hikoya Python 2 va 3 bilan takrorlanishi kutilmoqda).
  • Perl 7 uchun yozilgan kod Perl 5 da ishlamasligini alohida ta'kidlash shart emas; ko'pgina ishlab chiquvchilar minimal qo'llab-quvvatlanadigan versiyani ko'rsatmaydi.
  • Perl 5-ga asoslangan turli xil yordamchi dasturlar va modullar tuzatishlarni talab qiladi.
  • Resurslarni qayta taqsimlash tufayli Perl 7 ni tayyorlash yangi Perl funksiyalarini ishlab chiqishni bir muncha vaqt to'xtatib qo'yadi.
  • To'g'ri motivatsiyasiz katta qo'shimcha yuk paydo bo'lishi sababli Perl tarjimoni, modullari, asboblari va unga qo'shiladigan paketlarni faol ishlab chiquvchilari charchash va tark etish xavfi mavjud (hamma ham Perl 7 ni yaratish zarurligiga rozi emas).
  • Jamiyatdagi madaniyat va Perl barqarorligiga munosabat tubdan o'zgaradi.
  • Prinsipial yangi narsa bo'lmasa, Perl 7 mavjud kod bilan mos kelmaydi degan tanqid tufayli tilning obro'si buziladi.

Salbiy oqibatlarni yumshatish uchun Den Book o'z rejasini taklif qildi, bu esa muvofiqlik bo'shlig'ining oldini oladi. Xuddi shu ishlab chiqish jarayonini saqlab qolish va 5.34.0 o'rniga keyingi nashr raqamini 7.0.0 belgilash taklif etiladi, bunda biz bilvosita ob'ektni chaqirish belgilarini qo'llab-quvvatlashni o'chirib qo'yamiz va sinab ko'rish/tutish kabi ba'zi yangi xususiyatlarni yoqamiz. "Qat'iy foydalanish" va "ogohlantirishlardan foydalanish" kabi o'zgarishlarni "v7 foydalanish" pragmasi orqali kodda Perl versiyasini aniq ko'rsatish orqali tartibga solish taklif etiladi ("foydalanish v5.12" va yangi versiyalar uchun qat'iy sukut bo'yicha allaqachon yoqilgan. ).

Odatiy bo'lib, tarjimonga Perl 5 dan farq qilmaydigan parametrlar to'plamini saqlab qolish tavsiya etiladi, bundan oldin ishlatilgan eskirgan sintaksisni tozalashning standart jarayoni bundan mustasno. Eski funksiyalar va eskirgan sintaksisni qoβ€˜llab-quvvatlash mavjud eskirish qoidalariga muvofiq toβ€˜xtatilishi mumkin. Kodda yangi Perl 7 elementlaridan foydalanish haqida signal berish va "v7 foydalanish" pragmasi yordamida yangi va eski uslublarni ajratish taklif etiladi.

Manba: opennet.ru

a Izoh qo'shish