Pagsusuri sa Panganib para sa Perl 7 Initiative

Dan Book (Dan Book), na sumusuporta sa higit sa 70 mga module sa CPAN, isinagawa ang pagsusuri mga panganib kapag ipinatupad ang iminungkahing Plano ng pagpapatupad ng Perl 7. Alalahanin natin na sa sangay ng Perl 7 nilalayon nilang paganahin ang mahigpit na checking mode na "mahigpit" bilang default, i-activate ang "mga babala sa paggamit" at baguhin ang halaga ng isang bilang ng mga parameter na nakakaapekto sa pagiging tugma sa lumang code.

Ang pagbabago ay inaasahang masira ang isang malaking bilang ng mga CPAN module sa Perl 7 at nangangailangan ng mga pagbabago sa bawat module, na hindi makatotohanang ipatupad sa loob ng target na taon, lalo na dahil hindi lahat ng mga may-akda ay nananatiling available. Pipigilan din ng mga pagbabago sa Perl 7 ang paggamit ng mga module na idinisenyo upang suportahan ang higit pa sa pinakabagong bersyon ng Perl.

Bilang karagdagan, ang mga sumusunod na posibleng problema ay binanggit:

  • Pagkalito sa mga nagsisimula dahil sa ilang halimbawa at rekomendasyon mula sa mga manual na isinulat para sa Perl 7 na hindi gumagana sa Perl 5.
  • Ang epekto sa pagbuo ng mga one-liner ay hindi pa napag-aralan. Ang Perl ay aktibong ginagamit hindi lamang para sa pagsusulat ng malalaking script, kundi pati na rin para sa paglikha ng mga one-liner at maikling script para sa mga pangangailangan ng mga administrator, kung saan ang paggamit ng mahigpit na mode ay hindi kailangan.
  • Ang mga distribusyon ay may problema sa sabay-sabay na paghahatid ng mga executable na file upang patakbuhin ang Perl 7 at Perl 5 na mga script (inaasahang mauulit ang kuwento sa Python 2 at 3).
  • Ang code na isinulat para sa Perl 7 ay hindi kailangang partikular na tandaan na hindi ito tatakbo sa Perl 5; maraming mga developer ang hindi tutukoy ng isang minimum na sinusuportahang bersyon.
  • Ang iba't ibang mga utility at module batay sa Perl 5 ay mangangailangan ng mga pagwawasto.
  • Ang paghahanda ng Perl 7, dahil sa muling paglalaan ng mga mapagkukunan, ay magpapatigil sa pagbuo ng mga bagong feature ng Perl sa loob ng ilang panahon.
  • May panganib ng pagka-burnout at pag-alis ng mga aktibong developer ng Perl interpreter, mga module, mga tool at mga kasamang package dahil sa malaking karagdagang workload nang walang wastong motibasyon (hindi lahat ay sumasang-ayon sa pangangailangang lumikha ng Perl 7).
  • Ang kultura sa komunidad at saloobin patungo sa katatagan ng Perl ay magbabago sa panimula.
  • Ang awtoridad ng wika ay masisira dahil sa pagpuna na ang Perl 7 ay hindi tugma sa umiiral na code sa kawalan ng isang bagay na panimula na bago.

Upang maayos ang mga negatibong kahihinatnan, iminungkahi ni Dan Book ang kanyang plano, na maiiwasan ang isang agwat sa pagkakatugma. Iminumungkahi na mapanatili ang parehong proseso ng pag-develop at sa halip na 5.34.0, italaga ang susunod na numero ng paglabas na 7.0.0, kung saan idi-disable namin ang suporta para sa hindi direktang object calling notation at paganahin ang ilang bagong feature gaya ng try/catch. Ang mga pagbabago tulad ng "gamitin ang mahigpit" at "gamitin ang mga babala" ay iminungkahi na regulahin sa pamamagitan ng tahasang pagtukoy sa Perl na bersyon sa code sa pamamagitan ng "gamitin ang v7" pragma (ang mahigpit ay pinagana na bilang default para sa "gamitin ang v5.12" at mas bagong mga release ).

Bilang default, inirerekomenda na ang interpreter ay magpanatili ng isang hanay ng mga parameter na hindi naiiba sa Perl 5, maliban sa karaniwang proseso para sa paglilinis ng hindi na ginagamit na syntax na ginamit noon. Maaaring patuloy na ihinto ang suporta para sa mga mas lumang feature at hindi na ginagamit na syntax alinsunod sa mga umiiral nang panuntunan sa paghinto. Iminumungkahi na hudyat ang paggamit ng mga bagong elemento ng Perl 7 sa code at paghiwalayin ang bago at lumang mga istilo gamit ang "use v7" pragma.

Pinagmulan: opennet.ru

Magdagdag ng komento