Oznámený Perl 7

Na virtuálnej konferencii vývojárov jazyka Perl, ktorá sa koná dnes, bol ohlásený projekt Perl 7, ktorý plynulo pokračuje v rozvoji vetvy Perl 5 bez radikálnych zmien. Perl 7 bude podobný vydaniu Perl 5.32.0, s výnimkou iných predvolených nastavení, ktoré lepšie zodpovedajú súčasným praktikám vývoja. Inak zostane Perl 7 tým istým Perl 5 a zachová kompatibilitu s predtým vytvorenými aplikáciami.

Významná zmena čísla verzie sa stane akýmsi oddeľovačom prechodného obdobia k novému modelu zvyšovania funkčnosti jazyka Perl bez podstatného narušenia spätnej kompatibility.
Predpokladá sa, že vytvorenie Perl 7 pomôže pritiahnuť nových vývojárov a zjednodušiť proces pridávania významných nových funkcií do jazyka, pričom sa zachová kompatibilita s kódovou základňou existujúcich projektov. Číslo 7 bolo zvolené, pretože Perl 6 bol použitý pri vývoji jazyka, ktorý teraz se vyvíjí má samostatný názov Raku. Prvé vydanie Perl 7 sa očakáva v budúcom roku. Vetva Perl 5.32 sa stane poslednou v sérii Perl 5 a plánuje sa jej podpora od 5 do 10 rokov.

Najvýraznejšou zmenou v Perl 7 bude predvolené zapnutie režimu „strict“, ktorý predpokladá prísne overovanie deklarácie premenných, používanie symbolických ukazovateľov a priradenie podprogramov. Používanie „use strict“ je dobrým zvykom a aplikuje ho väčšina vývojárov. Podobne plánujú predvolene zapnúť spracovanie varovaní („use warnings«).

V Perl 7 sa taktiež plánuje stabilizovať a predvolene zakomponovať niektoré už existujúce experimentálne funkcie, ako sú signatúry funkcií („use feature 'signatures'“), ktoré umožňujú pri definícii funkcie určiť prichádzajúce argumenty a automatizovať kontrolu ich počtu (bude možné písať „sub foo ($left, $right) {“ namiesto „sub foo { my($left, $right) = @_;}“). Plánujú predvolene zapnúť aj podporu operátora „isa“ pre kontrolu, či je objekt inštanciou určeného triedy alebo triedy odvodenou od nej („if( $obj isa Package::Name )“, ako aj operácií postfixového dereferencovania (postderef) „$sref->$*“ namiesto „${ $sref }“, „$aref->@*“ namiesto „@{ $aref }“ a „$href->%{ … }“ namiesto „%$href{ … }“.

Kandidátmi na vypnutie predvolene v Perl 7 sú:

  • Nepriamy zápis volania objektov („nie funkcia qw(indirect)«) — zastaraný spôsob volania objektov, pri ktorom sa namiesto „->“ používa medzera („method $object @param“ namiesto „$object->$method(@param)“). Napríklad namiesto „my $cgi = new CGI“ je potrebné vždy používať „my $cgi = CGI->new“.
  • Holé súborové deskriptory bez deklarácie premenných („nie bareword::filehandle«) — použitie konštrukcií typu „open FH, $file“ povedie k chybe, je potrebné použiť „open my $fh, $file“. Zmena sa nedotkne štandardných súborových deskriptorov STDIN, STDOUT, STDERR, ARGV, ARGVOUT a DATA.
  • Fiktívne viacrozmerné polia a hash-i v štýle Perl 4 („nie multidimensional«).
    Napríklad zadanie „$hash{1, 2}“ povedie k chybe, je potrebné použiť medzipel, napríklad „$hash{join($;, 1, 2)}“.
  • Vyhlásenie prototypov v štýle Perl 4 (je potrebné používať „use :prototype()“).

V vzdialenejších plánoch sa predpokladá, že sa štandardne zavádza podpora Unicode, čo uľahčí vývojárom vyhnúť sa používaniu „use utf8“ v kóde. Pre moduly a skripty, kde sa vyskytnú problémy s novými predvoleniami, je možné vrátiť správanie Perl 5 pridaním riadku „use compat::perl5“ do kódu. Samostatné nastavenia sa budú tiež uchovávať a bude možné ich zmeniť samostatne.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster