Paziņots par Perl 7.

Šodien notiekošajā virtuālajā Perl valodas izstrādātāju konferencē tika paziņots par projektu Perl 7, kas pakāpeniski turpinās Perl 5 attīstību bez radikālām izmaiņām. Perl 7 būs līdzīgs iznākumam Perl 5.32.0, izņemot citas noklusējuma iestatījumu, kas labāk atbilst mūsdienu izstrādes praksei. Pārējā ziņā Perl 7 paliks tas pats Perl 5 un saglabās saderību ar iepriekš izstrādātajām lietojumprogrammām.

Būtiska versijas numura maiņa kalpos kā pārreģistrators pārejai uz jaunu funkcionalitātes palielināšanas modeli valodā Perl bez jūtama atpakaļsaderības pārkāpuma.
Tiek uzskatīts, ka Perl 7 izveide palīdzēs piesaistīt jaunus izstrādātājus Perl valodas izmantošanai un nodrošināt nozīmīgu jaunu iespēju pievienošanu valodai, saglabājot saderību ar esošo projektu kodu bāzi. Numurs 7 izvēlēts tādēļ, ka Perl 6 tika izmantots valodas izstrādē, kas tagad attīstās ir ar atsevišķu nosaukumu Raku. Pirmais Perl 7 izlaidums tiek gaidīts nākamgad. Perl 5.32 versija kļūs par pēdējo Perl 5 sērijā, un tās atbalsts plānots no 5 līdz 10 gadiem.

Visnomanāmākā Perl 7 izmaiņa būs noklusējuma režīma „strict„ iekļaušana, kas paredz stingru maiņas mainīgo deklarāciju, simbolisko rādītāju izmantošanu un apakšprogrammu piešķiršanu. „use strict” izmantošana ir laba prakse un lielākā daļa izstrādātāju to lieto. Analogi noklusējuma plānots iekļaut brīdinājumu apstrādi („use warnings«).

Perl 7 arī plāno stabilizēt un noklusējumā iekļaut dažas jau esošās eksperimentālās iespējas, piemēram, funkciju paraksti ('use feature ‘signatures'‘), ļaujot funkcijas definēšanas laikā noteikt ienākošos argumentus un automatizēt to skaita pārbaudi (būs iespējams rakstīt 'sub foo ($left, $right) {' vietā 'sub foo { my($left, $right) = @_;'). Tāpat plānots noklusējuma iekļaušanai atbalsta operators 'isa' pārbaudei, vai objekts ir noteikta klases vai tā, kas no tās atvasinātas, piemērs ('if($obj isa Package::Name)'), kā arī posteņa dereferencē (postderef) operācijas '$sref->$*' vietā '${ $sref }', '$aref->@*' vietā '@{ $aref }' un '$href->%{ … }' vietā '%$href{ … }'.

Kandidāti izslēgšanai noklusējuma Perl 7 ir:

  • Netiešā objekta izsaukuma sintakse ('nav funkcija qw(indirect)«) — novecojusi objektu izsaukšanas metode, kurā vietā «->» tiek izmantota atstarpe («method $object @param» vietā «$object->$method(@param)»). Piemēram, vietā «my $cgi = new CGI» vienmēr jāizmanto «my $cgi = CGI->new».
  • Neapstrādāti failu aprakstītāji bez mainīgo deklarēšanas («nav neapstrādātā vārda::failu apraksts«) — izmantojot konstrukcijas, piemēram, «open FH, $file», radīs kļūdu, jāizmanto «open my $fh, $file». Izmaiņas neietekmēs standarta failu aprakstītājus STDIN, STDOUT, STDERR, ARGV, ARGVOUT un DATA.
  • Trokšņainie daudzdimensiju masīvi un heši Perl 4 stilā («nav daudzdimensiju«).
    Piemēram, norādot «$hash{1, 2}», radīs kļūdu, jāizmanto starpmasīvs, piemēram, «$hash{join($;, 1, 2)}».
  • Prototipu deklarēšana Perl 4 stilā (jāizmanto «use :prototype()»).

Tālākos plānos pēc noklusējuma plānots iekļaut Unicode atbalstu, kas atbrīvos izstrādātājus no «use utf8» norādīšanas kodā. Modulī un skriptos, kuros radīsies problēmas ar jaunajiem noklusējuma iestatījumiem, paredzēta iespēja atgriezt Perl 5 uzvedību, pievienojot kodam rindu «use compat::perl5». Atsevišķi iestatījumi arī saglabāsies, un tos būs iespējams mainīt atsevišķi.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster