Perl 7 paziņoja

Šodienas Perl valodas izstrādātāju virtuālajā konferencē paziņoja Perl 7 projekts, kas raiti turpinās Perl 5 filiāles attīstību, neveicot radikālas izmaiņas. Perl 7 būs līdzīgs laidiens Perl 5.32.0, izņemot citus noklusējuma iestatījumus, kas vairāk atbilst mūsdienu izstrādes praksei. Pretējā gadījumā Perl 7 paliks tāds pats kā Perl 5 un būs saderīgs ar iepriekš izstrādātajām lietojumprogrammām.

Būtiskas versijas numura izmaiņas darbosies kā sava veida atdalītājs pārejai uz jaunu modeli Perl valodas funkcionalitātes palielināšanai bez manāma atpakaļejošās saderības pārkāpuma.
Paredzams, ka Perl 7 izlaišana palīdzēs piesaistīt jaunus izstrādātājus Perl un palīdzēs racionalizēt procesu, lai valodai pievienotu nozīmīgus jaunus līdzekļus, vienlaikus saglabājot savietojamību ar esošo projektu kodu bāzi. Numurs 7 tika izvēlēts, jo Perl 6 tika izmantots, lai izstrādātu valodu, kas ir tagad attīstās ar atsevišķu nosaukumu Raku. Pirmais Perl 7 izlaidums ir gaidāms nākamgad. Perl 5.32 filiāle būs pēdējā Perl 5 sērijā, un to plānots atbalstīt 5 līdz 10 gadus.

Visievērojamākā izmaiņa Perl 7 ir "iekļaušana"stingri“, kas nozīmē stingru mainīgo deklarāciju pārbaudi, simbolisku rādītāju izmantošanu un apakšprogrammu piešķiršanu. "Izmantot stingri" ir laba forma, un to izmanto lielākā daļa izstrādātāju. Tāpat pēc noklusējuma viņi plāno iespējot brīdinājumu apstrādi (“izmantot brīdinājumus").

Perl 7 arī cer stabilizēt un pēc noklusējuma iespējot dažas jau esošās eksperimentālās funkcijas, piemēram, funkciju paraksti (“izmantot funkciju 'parakstus'”), kas, definējot funkciju, ļauj noteikt ienākošos argumentus un automatizēt to skaita pārbaudi (jūs varat rakstīt “sub foo ($left, $right) {”, nevis “sub foo {”. mans($pa kreisi, $pa labi) ) = @_;"). Viņi plāno pēc noklusējuma iekļaut atbalstu operatoram “isa”, lai pārbaudītu, vai objekts ir noteiktas klases gadījums vai no tās atvasināta klase (“if( $obj isa Package::Name)”, kā arī postfix atsaites operācijas (postderef) "$ sref->$*", nevis "${ $sref }", "$aref->@*", nevis "@{ $aref }" un "$href->%{ ... }", nevis "%$href{ ... }"

Pretendenti uz atspējošanu pēc noklusējuma programmā Perl 7 ir:

  • Netiešā objekta izsaukšanas apzīmējums ("nav funkcijas qw (netiešs)") ir mantots objektu izsaukšanas veids, izmantojot atstarpi "->" vietā ("metode $object @param", nevis "$object->$method(@param)"). Piemēram, “mans $cgi = jauns CGI” vietā vienmēr izmantotu “mans $cgi = CGI->jauns”.
  • tukši failu deskriptori bez mainīgo deklarācijām ("nav bareword::filehandle") - izmantojot tādas konstrukcijas kā "atvērt FH, $ failu", radīsies kļūda, jums jāizmanto "atvērt manu $fh, $ failu". Izmaiņas neietekmēs standarta failu deskriptorus STDIN, STDOUT, STDERR, ARGV, ARGVOUT un DATA.
  • Perl 4 stila fiktīvie daudzdimensiju masīvi un jaucējvērtības ("nav daudzdimensionāla").
    Piemēram, norādot “$hash{1, 2}”, radīsies kļūda; jums ir jāizmanto starpmasīvs, piemēram, “$hash{join($;, 1, 2)}”.

  • Prototipu deklarēšana Perl 4 stilā (jums jāizmanto "use :prototype()").

Attālākajos plānos viņi paredz pēc noklusējuma iespējot Unicode atbalstu, kas neļaus izstrādātājiem kodā norādīt “izmantot utf8”. Moduļiem un skriptiem, kuriem ir problēmas ar jaunajiem noklusējuma iestatījumiem, ir iespējams atgriezties pie Perl 5 darbības, kodam pievienojot rindiņu "use compat::perl5". Tiks saglabāti arī individuālie iestatījumi un tos var mainīt atsevišķi.

Avots: opennet.ru

Pievieno komentāru