Perl 7 oznámen

Na dnešní virtuální konferenci vývojářů jazyka Perl oznámil projekt Perl 7, který bude plynule pokračovat ve vývoji větve Perl 5 bez radikálních změn. Perl 7 bude podobné vydání Perl 5.32.0s výjimkou jiných výchozích nastavení, která jsou více v souladu s moderními vývojovými postupy. Jinak Perl 7 zůstane stejný jako Perl 5 a zůstane kompatibilní s dříve vyvinutými aplikacemi.

Výrazná změna čísla verze bude fungovat jako jakýsi oddělovač pro přechod na nový model pro zvýšení funkčnosti jazyka Perl bez znatelného porušení zpětné kompatibility.
Očekává se, že vydání Perlu 7 pomůže přilákat nové vývojáře do Perlu a pomůže zefektivnit proces přidávání významných nových funkcí do jazyka při zachování kompatibility s kódovou základnou stávajících projektů. Číslo 7 bylo vybráno, protože Perl 6 byl použit k vývoji jazyka, který je nyní se vyvíjí pod samostatným názvem Raku. První vydání Perlu 7 se očekává příští rok. Pobočka Perl 5.32 bude poslední v řadě Perl 5 a její podpora se plánuje na 5 až 10 let.

Nejpozoruhodnější změnou v Perlu 7 je zahrnutí „přísný“, což znamená přísnou kontrolu deklarací proměnných, použití symbolických ukazatelů a přiřazení podprogramů. Použití "use strict" je dobrá forma a používá ho většina vývojářů. Podobně ve výchozím nastavení plánují povolit zpracování varování („používat varování").

Perl 7 také doufá, že stabilizuje a standardně povolí některé již existující experimentální funkce, jako např podpisy funkcí („use feature 'signatures'“), které umožňují při definování funkce určit příchozí argumenty a automatizovat kontrolu jejich počtu (můžete napsat „sub foo ($left, $right) {“ místo „sub foo { my($left, $right) ) = @_;"). Plánují zahrnout standardně podporu pro operátor „isa“ pro kontrolu, zda je objekt instancí zadané třídy nebo z ní odvozenou třídou („if( $obj isa Package::Name)“, stejně jako postfixové dereferencování operace (postderef) „$ sref->$*“ místo „${ $sref }“, „$aref->@*“ místo „@{ $aref }“ a „$href->%{ ... }" místo "%$href{ ... } "

Uchazeči o deaktivaci ve výchozím nastavení v Perlu 7 jsou:

  • Nepřímý zápis volání objektu ("žádná funkce qw (nepřímé)") je zastaralý způsob volání objektů pomocí mezery místo "->" ("metoda $object @param" namísto "$object->$method(@param)"). Například místo „my $cgi = new CGI“ byste vždy použili „my $cgi = CGI->new“.
  • Holé deskriptory souborů bez deklarací proměnných ("žádné bareword::filehandle") - použití konstrukcí jako „otevřít FH, $soubor“ povede k chybě, musíte použít „otevřít můj $fh, $soubor“. Změna se nedotkne standardních deskriptorů souborů STDIN, STDOUT, STDERR, ARGV, ARGVOUT a DATA.
  • Falešná multidimenzionální pole a hash ve stylu Perl 4 ("žádné multidimenzionální").
    Například zadání „$hash{1, 2}“ povede k chybě; musíte použít přechodné pole, například „$hash{join($;, 1, 2)}“.

  • Deklarace prototypů ve stylu Perl 4 (musíte použít "use :prototype()").

Ve vzdálenějších plánech očekávají, že ve výchozím nastavení povolí podporu Unicode, což vývojářům ušetří, aby v kódu specifikovali „use utf8“. U modulů a skriptů, které mají problémy s novým výchozím nastavením, je možné se vrátit k chování Perl 5 přidáním řádku "use compat::perl5" do kódu. Individuální nastavení se také uloží a lze je individuálně změnit.

Zdroj: opennet.ru

Přidat komentář