Dan könyv (
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