Kockázatelemzés a Perl 7 kezdeményezéshez

Dan könyv (Dan könyv), amely több mint 70 CPAN-modult támogat, elvégezte az elemzést kockázatokat a javasolt végrehajtása során Perl 7 megvalósítási terv. Emlékezzünk vissza, hogy a Perl 7 ágban alapból a szigorú ellenőrzési módot kívánják „szigorúan” engedélyezni, aktiválni a „figyelmeztetések használatát” és számos olyan paraméter értékét módosítani, amelyek befolyásolják a régi kóddal való kompatibilitást.

A változtatás várhatóan nagyszámú CPAN-modult megszakít a Perl 7-ben, és minden egyes modulon módosítani kell, aminek megvalósítása a céléven belül irreális, különösen azért, mert nem minden szerző marad elérhető. A Perl 7 változásai megakadályozzák az olyan modulok használatát is, amelyek nem csak a Perl legújabb verzióját támogatják.

Ezenkívül a következő lehetséges problémákat említik:

  • Zavar a kezdők körében, mert a Perl 7-höz írt kézikönyvekből néhány példa és ajánlás nem működik Perl 5-ben.
  • Az egysoros burkolatok fejlődésére gyakorolt ​​hatást nem vizsgálták. A Perl-t nemcsak nagy szkriptek írására használják aktívan, hanem egysoros és rövid szkriptek létrehozására is az adminisztrátorok igényei szerint, ahol a szigorú mód használata szükségtelen.
  • A disztribúcióknak problémájuk van a futtatható fájlok egyidejű kézbesítésével a Perl 7 és Perl 5 szkriptek futtatásához (a történet várhatóan megismétlődik Python 2 és 3 esetén).
  • A Perl 7-re írt kódnak nem kell külön megjegyeznie, hogy nem fut Perl 5-ben; sok fejlesztő nem határozza meg a minimálisan támogatott verziót.
  • A Perl 5-ön alapuló különféle segédprogramok és modulok javítást igényelnek.
  • A Perl 7 előkészítése az erőforrások átcsoportosítása miatt egy időre leállítja az új Perl-szolgáltatások fejlesztését.
  • Fennáll a kiégés és a Perl interpreter, a modulok, eszközök és a kísérő csomagok aktív fejlesztőinek távozásának veszélye a megfelelő motiváció nélküli nagy többletterhelés miatt (nem mindenki ért egyet a Perl 7 létrehozásának szükségességével).
  • Alapvetően megváltozik a közösség kultúrája és a Perl stabilitásához való hozzáállás.
  • A nyelv tekintélyét aláássák azok a kritikák, amelyek szerint a Perl 7 valami alapvetően új hiányában nem kompatibilis a meglévő kóddal.

A negatív következmények elsimítására Dan Book javasolta tervét, amely elkerüli a kompatibilitási hiányosságot. Javasoljuk, hogy ugyanazt a fejlesztési folyamatot tartsuk fenn, és az 5.34.0 helyett a következő kiadási számhoz rendeljük a 7.0.0-t, amelyben letiltjuk a közvetett objektumhívási jelölések támogatását, és engedélyezünk néhány új funkciót, például a try/catch. Az olyan változtatásokat, mint a „szigorú használat” és a „használati figyelmeztetések” a javaslat szerint úgy szabályozzák, hogy a kódban kifejezetten megadják a Perl verziót a „use v7” pragmán keresztül (a szigorú már alapértelmezés szerint engedélyezve van a „use v5.12” és az újabb kiadásoknál ).

Alapértelmezés szerint azt javasoljuk, hogy az értelmező megtartson olyan paraméterkészletet, amely nem különbözik a Perl 5-től, kivéve a korábban használt, elavult szintaxis tisztítására szolgáló szabványos eljárást. A régebbi funkciók és az elavult szintaxis támogatása továbbra is megszűnhet a meglévő elavulási szabályoknak megfelelően. Javasoljuk, hogy jelezze az új Perl 7 elemek használatát a kódban, és válassza szét az új és a régi stílusokat a „use v7” pragma segítségével.

Forrás: opennet.ru

Hozzászólás