Perl 7 зарлалаа

Perl хэл хөгжүүлэгчдийн өнөөдрийн виртуал хурал дээр зарласан Perl 7-ийн төсөл нь Perl 5-ийн салбарын хөгжлийг эрс өөрчлөлтгүйгээр үргэлжлүүлэн хөгжүүлэх болно. Perl 7 нь ижил төстэй хувилбар байх болно Perl 5.32.0, орчин үеийн хөгжүүлэлтийн практикт илүү нийцсэн бусад анхдагч тохиргоог эс тооцвол. Үгүй бол Perl 7 нь Perl 5-тай ижил хэвээр байх бөгөөд өмнө нь боловсруулсан програмуудтай нийцтэй хэвээр байх болно.

Хувилбарын дугаарын мэдэгдэхүйц өөрчлөлт нь Perl хэлний үйл ажиллагааг сайжруулах шинэ загварт шилжихэд нэг төрлийн тусгаарлах үүрэг гүйцэтгэнэ.
Perl 7-ийн хувилбар нь Perl-д шинэ хөгжүүлэгчдийг татахад тусалж, одоо байгаа төслүүдийн кодын баазтай нийцтэй байдлыг хадгалахын зэрэгцээ хэлэнд чухал шинэ боломжуудыг нэмэх үйл явцыг оновчтой болгоход тусална. Perl 7-г одоогийн хэлийг хөгжүүлэхэд ашигласан тул 6 дугаарыг сонгосон хөгжиж байна Raku тусдаа нэрээр. Perl 7-ийн анхны хувилбар ирэх жил гарах төлөвтэй байна. Perl 5.32 салбар нь Perl 5 цувралын сүүлчийнх бөгөөд 5-10 жилийн хугацаанд дэмжигдэхээр төлөвлөж байна.

Perl 7-ийн хамгийн чухал өөрчлөлт бол "хатуу", энэ нь хувьсагчийн мэдэгдлийг хатуу шалгах, симбол заагч ашиглах, дэд программын даалгаврыг шаарддаг. "Хэрэглэх хатуу" ашиглах нь сайн хэлбэр бөгөөд ихэнх хөгжүүлэгчид ашигладаг. Үүний нэгэн адил, анхдагч байдлаар тэд анхааруулах боловсруулалтыг идэвхжүүлэхээр төлөвлөж байна ("анхааруулга ашиглах").

Perl 7 нь мөн аль хэдийн байгаа туршилтын функцуудыг тогтворжуулж, идэвхжүүлнэ гэж найдаж байна функцийн гарын үсэг ("гарын үсэг" функцийг ашиглах) нь функцийг тодорхойлохдоо ирж буй аргументуудыг тодорхойлж, тэдгээрийн дугаарыг автоматжуулах боломжийг олгодог ("sub foo {"-ийн оронд "sub foo ($left, $right) {" гэж бичиж болно. my($зүүн, $баруун) ) = @_;"). Тэд тухайн объект нь тодорхой ангиллын жишээ эсвэл түүнээс үүссэн анги мөн эсэхийг шалгах ("if( $obj isa Package::Name)" эсэхийг шалгах "isa" операторын үндсэн дэмжлэгийг оруулахаар төлөвлөж байна. үйлдлүүд (postderef) "${ $sref }"-ийн оронд "$ sref->$*", "@{ $aref }"-ын оронд "$aref->@*" болон "$href->%{ ... }" оронд "%$href{ ... } "

Perl 7-д анхдагчаар идэвхгүй болгох өрсөлдөгчид нь:

  • Шууд бус объект дуудлагын тэмдэглэгээ ("ямар ч онцлог qw (шууд бус)") нь "->" ("$object->$method(@param)"-ын оронд "method $object @param") оронд хоосон зайг ашиглан объектуудыг дуудах уламжлалт арга юм. Жишээлбэл, "my $cgi = new CGI"-ийн оронд та үргэлж "my $cgi = CGI->new"-г ашиглах болно.
  • Хувьсагч мэдэгдэлгүй нүцгэн файлын тодорхойлогч ("ямар ч нүцгэн үг ::filehandle") - "open FH, $file" гэх мэт бүтцийг ашигласнаар алдаа гарах тул та "open my $fh, $file"-г ашиглах хэрэгтэй. Энэхүү өөрчлөлт нь STDIN, STDOUT, STDERR, ARGV, ARGVOUT болон DATA стандарт файлын тодорхойлогчдод нөлөөлөхгүй.
  • Perl 4 загварын хуурамч олон хэмжээст массив ба хэшүүд ("олон хэмжээст байхгүй").
    Жишээлбэл, "$hash{1, 2}" гэж зааж өгвөл алдаа гарах тул та завсрын массив ашиглах хэрэгтэй, жишээ нь "$hash{join($;, 1, 2)}".

  • Perl 4 загварт загваруудыг зарлах (та "хэрэглэх: prototype ()" ашиглах хэрэгтэй).

Илүү алслагдсан төлөвлөгөөнд тэд Юникод дэмжлэгийг анхдагчаар идэвхжүүлнэ гэж найдаж байгаа бөгөөд энэ нь хөгжүүлэгчид кодонд "utf8 ашиглах" гэж зааж өгөхөөс аврах болно. Шинэ өгөгдмөл тохиргоотой холбоотой асуудалтай модулиуд болон скриптүүдийн хувьд кодонд "use compat::perl5" мөрийг нэмснээр Perl 5-ын төлөв рүү буцах боломжтой. Хувь хүний ​​тохиргоонууд мөн хадгалагдах бөгөөд тус тусад нь өөрчлөх боломжтой.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх