Ankandi Perl 7

Në konferencën virtuale për zhvilluesit e gjuhës Perl që po zhvillohet sot është njoftuar projekti Perl 7, i cili do të vazhdojë zhvillimin e degës Perl 5 pa bërë ndryshime radikale. Perl 7 do të jetë i ngjashëm me versionin Perl 5.32.0, përveç disa cilësimeve të tjera të parazgjedhura, që përshtaten më mirë me praktikat moderne të zhvillimit. Përndryshe, Perl 7 do të mbetet i njëjti Perl 5 dhe do të ruajë compatibilitetin me aplikacionet që janë zhvilluar më parë.

Një ndryshim i rëndësishëm i numrit të versionit do të shërbejë si një ndarës në kalimin në një model të ri për rritjen e funksionalitetit të gjuhës Perl pa shkelje të ndjeshme të compatibilitetit të pastër.
Pritet që krijimi i Perl 7 të ndihmojë në tërheqjen e zhvilluesve të rinj në përdorimin e Perl dhe të vendosë një proces për shtimin e mundësive të reja në gjuhë, duke ruajtur në të njëjtën kohë compatibilitetin me bazën e kodit të projekteve ekzistuese. Numri 7 është zgjedhur sepse Perl 6 është përdorur për zhvillimin e gjuhës, e cila tani po zhvillohet nën një emër të veçantë Raku. Lëshimi i parë i Perl 7 pritet të ndodhë vitin e ardhshëm. Dega Perl 5.32 do të jetë e fundit në serinë Perl 5 dhe planifikohet të mbështetet për një periudhë nga 5 deri në 10 vjet.

Ndryshimi mĂ« i dukshĂ«m nĂ« Perl 7 do tĂ« jetĂ« pĂ«rfshirja si parazgjedhje e modit “strict“, qĂ« nĂ«nkupton kontroll tĂ« rreptĂ« mbi shpalljen e variablave, pĂ«rdorimin e pointerĂ«ve simbolikĂ« dhe caktimin e nĂ«nprogramit. PĂ«rdorimi i “use strict” Ă«shtĂ« njĂ« normĂ« e mirĂ« dhe zbatohet nga shumica e zhvilluesve. Po ashtu, planifikohet tĂ« pĂ«rfshihet si parazgjedhje pĂ«rpunimi i paralajmĂ«rimeve (“use warnings«).

NĂ« Perl 7 gjithashtu pritet tĂ« stabilizohen dhe tĂ« pĂ«rfshihen si parazgjedhje disa mundĂ«si eksperimentale qĂ« tashmĂ« ekzistojnĂ«, siç janĂ« nĂ«nshkrimet e funksioneve (“use feature ‘signatures'”), qĂ« lejojnĂ«, kur pĂ«rcaktohet njĂ« funksion, tĂ« pĂ«rcaktohen argumentet hyrĂ«se dhe automatizojnĂ« verifikimin e numrit tĂ« tyre (do tĂ« jetĂ« e mundur tĂ« shkruhet “sub foo ($left, $right) {” nĂ« vend tĂ« “sub foo { my($left, $right) = @_;”). Plani Ă«shtĂ« qĂ« tĂ« pĂ«rfshihet si parazgjedhje dhe mbĂ«shtetje pĂ«r operatorin “isa” pĂ«r tĂ« verifikuar nĂ«se objekti Ă«shtĂ« njĂ« instancĂ« e klasĂ«s sĂ« caktuar ose e njĂ« klase tĂ« derivuar prej saj (“if( $obj isa Package::Name )”, si dhe operacionet e dereferencimit pas postfixit (postderef) “$sref->$*” nĂ« vend tĂ« “${ $sref }”, “$aref->@*” nĂ« vend tĂ« “@{ $aref }” dhe “$href->%{ 
 }” nĂ« vend tĂ« “%$href{ 
 }”.

Kandidatë për të çaktivizuar në mënyrë të paracaktuar në Perl 7 janë:

  • Sintaksa indirekte e thirrjes sĂ« objekteve («no feature qw(indirect)«) Ă«shtĂ« njĂ« mĂ«nyrĂ« e vjetruar pĂ«r thirrjen e objekteve, ku nĂ« vend tĂ« «->» pĂ«rdoret hapĂ«sira («method $object @param» nĂ« vend tĂ« «$object->$method(@param)»). PĂ«r shembull, nĂ« vend tĂ« «my $cgi = new CGI» do tĂ« duhet gjithmonĂ« tĂ« pĂ«rdoret «my $cgi = CGI->new».
  • Deshifruesit e dosjeve pa shpallje tĂ« variablave («no bareword::filehandle«) — pĂ«rdorimi i konstruktimeve si «open FH, $file» do tĂ« sjellĂ« njĂ« gabim, duhet tĂ« pĂ«rdoret «open my $fh, $file». Ky ndryshim nuk do tĂ« preket standardet e deshifruesve tĂ« dosjeve STDIN, STDOUT, STDERR, ARGV, ARGVOUT dhe DATA.
  • MarrĂ«dhĂ«nie fiktive shumĂ«-dimensionale dhe hesh nĂ« stilin Perl 4 («no multidimensional«).
    Për shembull, njoftimi «$hash{1, 2}» do të sjellë një gabim, duhet të përdoret një array i ndërmjetëm, si «$hash{join($;, 1, 2)}».
  • Shpallja e prototipave nĂ« stilin Perl 4 (duhet tĂ« pĂ«rdoret «use :prototype()»).

Në planet më të largëta parazikohet të përfshihet mbështetje për Unicode, e cila do të çlirojë zhvilluesit nga nevoja për të specifikuar «use utf8» në kod. Për modulet dhe skriptet, të cilat do të hasin probleme me cilësimet e reja të paracaktuara, është parashikuar mundësia e kthimit në sjelljen e Perl 5 duke shtuar në kod linjën «use compat::perl5». Cilësimet e veçanta gjithashtu do të mbahen dhe mund të ndryshohen veçmas.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster