Perl 7 cyhoeddi

Mewn cynhadledd rithwir heddiw o ddatblygwyr iaith Perl cyhoeddi prosiect Perl 7 a fydd yn parhau i ddatblygu cangen Perl 5 yn ddidrafferth heb wneud newidiadau radical. Bydd Perl 7 yn rhyddhau tebyg Perl 5.32.0, ac eithrio gosodiadau diofyn eraill sy'n fwy cyson ag arferion datblygu modern. Fel arall, bydd Perl 7 yn aros yr un fath â Perl 5 a bydd yn parhau i fod yn gydnaws â chymwysiadau a ddatblygwyd yn flaenorol.

Bydd newid sylweddol yn rhif y fersiwn yn gweithredu fel math o wahanydd ar gyfer trosglwyddo i fodel newydd ar gyfer cynyddu ymarferoldeb yr iaith Perl heb dorri'n amlwg ar gydnawsedd yn ôl.
Disgwylir i ryddhau Perl 7 helpu i ddenu datblygwyr newydd i Perl a helpu i symleiddio'r broses o ychwanegu nodweddion newydd arwyddocaol i'r iaith tra'n cynnal cydnawsedd â sylfaen cod prosiectau presennol. Dewiswyd rhif 7 oherwydd defnyddiwyd Perl 6 i ddatblygu'r iaith sydd nawr yn datblygu dan yr enw ar wahân Raku. Disgwylir y datganiad cyntaf o Perl 7 y flwyddyn nesaf. Cangen Perl 5.32 fydd yr olaf yng nghyfres Perl 5 a bwriedir ei chefnogi am 5 i 10 mlynedd.

Y newid mwyaf nodedig yn Perl 7 yw cynnwys "llym“, sy'n awgrymu gwirio datganiadau newidiol yn llym, defnyddio awgrymiadau symbolaidd ac aseiniadau is-reolwaith. Mae defnyddio "defnyddio llym" yn ffurf dda ac fe'i defnyddir gan y rhan fwyaf o ddatblygwyr. Yn yr un modd, yn ddiofyn maent yn bwriadu galluogi prosesu rhybuddion (“defnyddio rhybuddion").

Mae Perl 7 hefyd yn gobeithio sefydlogi a galluogi rhai nodweddion arbrofol sydd eisoes yn bodoli, megis llofnodion swyddogaeth (“defnyddio nodwedd 'llofnodion'”), sy'n caniatáu, wrth ddiffinio ffwythiant, bennu'r dadleuon sy'n dod i mewn ac awtomeiddio gwirio eu rhif (gallwch ysgrifennu "sub foo ($left, $right) {" yn lle "sub foo {" fy($chwith, $dde) ) = @_;"). Maent yn bwriadu cynnwys yn ddiofyn gefnogaeth i'r gweithredwr “isa” ar gyfer gwirio a yw gwrthrych yn enghraifft o ddosbarth penodol neu ddosbarth sy'n deillio ohono (“os( $obj isa Pecyn::Name)”, yn ogystal â dadgyfeirio postfix gweithrediadau (postderef) "$sref->$*" yn lle "${ $sref }", "$aref->@*" yn lle "@{ $aref }" a "$href->%{ ... }" yn lle "%$href{ ... }"

Y cystadleuwyr am fod yn anabl yn ddiofyn yn Perl 7 yw:

  • Nodiant galw gwrthrych anuniongyrchol ("dim nodwedd qw (anuniongyrchol)") yn ffordd etifeddiaeth o alw gwrthrychau, gan ddefnyddio gofod yn lle "->" ("dull $object @param" yn lle "$object->$method(@param)"). Er enghraifft, yn lle “fy $ cgi = CGI newydd” byddech bob amser yn defnyddio “my $ cgi = CGI->newydd”.
  • Disgrifyddion ffeil noeth heb unrhyw ddatganiadau newidiol ("dim gair noeth::filehandle") - bydd defnyddio cystrawennau fel “open FH, $file” yn arwain at wall, mae angen i chi ddefnyddio “agor fy $fh, $file”. Ni fydd y newid yn effeithio ar y disgrifyddion ffeil safonol STDIN, STDOUT, STDERR, ARGV, ARGVOUT a DATA.
  • Araeau a hashes aml-ddimensiwn arddull Perl 4 ("dim amlddimensiwn").
    Er enghraifft, bydd pennu “$hash{1, 2}” yn arwain at wall; mae angen i chi ddefnyddio arae ganolraddol, er enghraifft “$hash{join($;, 1, 2)}”.

  • Yn datgan prototeipiau yn arddull Perl 4 (mae angen i chi ddefnyddio "defnyddio :prototeip ()").

Mewn cynlluniau mwy pellennig, maent yn disgwyl galluogi cefnogaeth Unicode yn ddiofyn, a fydd yn arbed datblygwyr rhag nodi “use utf8” yn y cod. Ar gyfer modiwlau a sgriptiau sydd â phroblemau gyda'r gosodiadau diofyn newydd, mae'n bosibl dychwelyd i ymddygiad Perl 5 trwy ychwanegu'r llinell "use compat:: perl5" i'r cod. Bydd gosodiadau unigol hefyd yn cael eu cadw a gellir eu newid yn unigol.

Ffynhonnell: opennet.ru

Ychwanegu sylw