Bejelentették a Perl 7-et

A ma lező virtuális Perl fejlesztői konferencián bejelentették a Perl 7 projektet, amely zökkenőmentesen folytatja a Perl 5 ágazat fejlődését anélkül, hogy radikális változtatásokat eszközölne. A Perl 7 hasonló lesz a kiadásához, Perl 5.32.0, kivéve a más alapértelmezett beállításokat, amelyek jobban megfelelnek a modern fejlesztési gyakorlatnak. Egyébként a Perl 7 ugyanaz a Perl 5 marad, és megőrzi a korábban kifejlesztett alkalmazásokkal való kompatibilitást.

A jelentős verziószám-változás egyfajta határt jelent a funkciók bővítésének új modelljéhez a Perl nyelvben, anélkül, hogy érzékelhetően megsértené a visszafelé kompatibilitást.
A Perl 7 létrehozásától azt várják, hogy új fejlesztőket vonz a Perl használatához, és elősegíti a jelentős új lehetőségek nyelvbe való integrálását, miközben megőrzi a meglévő projektek kódalapjával való kompatibilitást. A 7-es szám azért lett választva, mert a Perl 6-ot használták a nyelv fejlesztésénél, amely most Go nyelven fejlődik. külön néven Raku fut. Az első Perl 7 kiadására jövőre számítanak. A Perl 5.32 ág lesz az utolsó a Perl 5 sorozatban, amelyet 5-10 évig terveznek támogatni.

A legszembetűnőbb változás a Perl 7-ben az alapértelmezett "strict" üzemmód beillesztése lesz, amely szigorú ellenőrzést feltételez a változók deklarálásánál, a szimbolikus mutatók használatánál és a szubprogramok hozzárendelésénél. A "use strict" használata jó modor, és a fejlesztők többsége alkalmazza. Hasonlóképpen az alapértelmezett beállítások közé tervezik a figyelmeztetések kezelését is ("use warnings«).

A Perl 7-ben azt is tervezik, hogy stabilizálják és alapértelmezetté tegyék néhány már meglévő kísérleti funkciót, mint például a függvényszinákat ("use feature 'signatures'"), amelyek lehetővé teszik a bemeneti argumentumok meghatározását a függvény definíciójánál, és automatizálják azok számának ellenőrzését (így lehetőség lesz az "sub foo ($left, $right) {" írására az "sub foo { my($left, $right) = @_;" helyett). Az alapértelmezett beállítások közé tartozik a "isa" operátor támogatása is, amely ellenőrzi, hogy az objektum egy megadott osztály példánya vagy annak származtatott osztálya-e ("if( $obj isa Package::Name )", valamint a postfix dereferálás műveletei " $sref->$*" az " ${ $sref }" helyett, " $aref->@*" az " @{ $aref }" helyett és " $href->%{ ... }" az "%$href{ ... }" helyett.

A Perl 7 alapértelmezett kikapcsolására pályázó funkciók:

  • Az objektumok közvetett hívásának szintaxisa ("nincs funkció qw(indirect)«) — elavult objektumok hívási módja, ahol a «->» helyett szóközt használunk («method $object @param» helyett «$object->$method(@param)»). Például, a «my $cgi = new CGI» helyett mindig ezt kell használni: «my $cgi = CGI->new».
  • Üres fájlkezelők változók deklarálása nélkül («nincs bareword::filehandle«) — az olyan kifejezések használata, mint «open FH, $file» hibához vezet, használni kell «open my $fh, $file»-t. A változtatás nem érinti az alapértelmezett fájlkezelőket STDIN, STDOUT, STDERR, ARGV, ARGVOUT és DATA.
  • Fiktív többrétegű tömbök és hashtáblák Perl 4 stílusban («nincs multidimensional«).
    Például, a «$hash{1, 2}» használata hibához vezet, köztes tömböt kell használni, például: «$hash{join($;, 1, 2)}».
  • Prototípusok deklarálása Perl 4 stílusban (használjunk «use :prototype()»).

A távoli tervek szerint alapértelmezés szerint támogatni fogják az Unicode-ot, ami megszabadítja a fejlesztőket attól, hogy a kódjukban meg kell hivatkozniuk a «use utf8»-at. A modulok és szkriptek esetében, ahol problémák merülnek fel az új alapértelmezésekkel, lehetőség van a Perl 5 viselkedésének visszaállítására a kódba beillesztett «use compat::perl5» sorozat hozzáadásával. Az egyedi beállítások is megmaradnak, és külön-külön módosíthatók lesznek.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster