Ανακοινώθηκε το Perl 7

Στο σημερινό εικονικό συνέδριο προγραμματιστών γλωσσών Perl ανακοινώθηκε ένα έργο Perl 7 που θα συνεχίσει ομαλά την ανάπτυξη του κλάδου Perl 5 χωρίς να κάνει ριζικές αλλαγές. Το Perl 7 θα είναι παρόμοια έκδοση Perl 5.32.0, εκτός από άλλες προεπιλεγμένες ρυθμίσεις που είναι πιο συνεπείς με τις σύγχρονες πρακτικές ανάπτυξης. Διαφορετικά, το Perl 7 θα παραμείνει το ίδιο με το Perl 5 και θα παραμείνει συμβατό με προηγούμενες εφαρμογές.

Μια σημαντική αλλαγή στον αριθμό έκδοσης θα λειτουργήσει ως ένα είδος διαχωριστικού για τη μετάβαση σε ένα νέο μοντέλο για την αύξηση της λειτουργικότητας της γλώσσας Perl χωρίς αισθητή παραβίαση της συμβατότητας προς τα πίσω.
Η κυκλοφορία του Perl 7 αναμένεται να βοηθήσει στην προσέλκυση νέων προγραμματιστών στην Perl και να βοηθήσει στον εξορθολογισμό της διαδικασίας προσθήκης σημαντικών νέων δυνατοτήτων στη γλώσσα, διατηρώντας παράλληλα τη συμβατότητα με τη βάση κώδικα των υπαρχόντων έργων. Ο αριθμός 7 επιλέχθηκε επειδή το Perl 6 χρησιμοποιήθηκε για την ανάπτυξη της γλώσσας που είναι τώρα αναπτύσσεται με το ξεχωριστό όνομα Raku. Η πρώτη κυκλοφορία του Perl 7 αναμένεται τον επόμενο χρόνο. Το υποκατάστημα Perl 5.32 θα είναι το τελευταίο στη σειρά Perl 5 και έχει προγραμματιστεί να υποστηρίζεται για 5 έως 10 χρόνια.

Η πιο αξιοσημείωτη αλλαγή στο Perl 7 είναι η συμπερίληψη του "αυστηρός», που συνεπάγεται αυστηρό έλεγχο των δηλώσεων μεταβλητών, χρήση συμβολικών δεικτών και αναθέσεις υπορουτίνας. Η χρήση της "αυστηρής χρήσης" είναι καλή μορφή και χρησιμοποιείται από τους περισσότερους προγραμματιστές. Ομοίως, από προεπιλογή σχεδιάζουν να ενεργοποιήσουν την επεξεργασία προειδοποίησης (“χρησιμοποιήστε προειδοποιήσεις").

Το Perl 7 ελπίζει επίσης να σταθεροποιήσει και να ενεργοποιήσει από προεπιλογή ορισμένες ήδη υπάρχουσες πειραματικές λειτουργίες, όπως π.χ υπογραφές λειτουργίας ("χρήση δυνατότητας 'υπογραφές'"), που επιτρέπουν, κατά τον ορισμό μιας συνάρτησης, τον προσδιορισμό των εισερχόμενων ορισμάτων και τον αυτοματοποιημένο έλεγχο του αριθμού τους (μπορείτε να γράψετε "sub foo ($left, $right) {" αντί για "sub foo { my($left, $right) ) = @_;"). Σκοπεύουν να συμπεριλάβουν από προεπιλογή υποστήριξη για τον τελεστή "isa" για τον έλεγχο του αν ένα αντικείμενο είναι μια παρουσία μιας καθορισμένης κλάσης ή μια κλάση που προέρχεται από αυτήν ("if( $obj isa Package::Name)", καθώς και αποσύνδεση postfix λειτουργίες (postderef) "$ sref->$*" αντί για "${ $sref }", "$aref->@*" αντί για "@{ $aref }" και "$href->%{ ... }" αντί για "%$href{ ... } "

Οι υποψήφιοι για την απενεργοποίηση από προεπιλογή στο Perl 7 είναι:

  • Έμμεσος συμβολισμός κλήσης αντικειμένου ("χωρίς χαρακτηριστικό qw (έμμεσο)") είναι ένας παλαιούχος τρόπος κλήσης αντικειμένων, χρησιμοποιώντας ένα διάστημα αντί για "->" ("μέθοδος $object @param" αντί για "$object->$method(@param)"). Για παράδειγμα, αντί για "my $cgi = νέο CGI" θα χρησιμοποιούσατε πάντα "my $cgi = CGI->new".
  • Γυμνοί περιγραφείς αρχείων χωρίς δηλώσεις μεταβλητών ("χωρίς bareword::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 (πρέπει να χρησιμοποιήσετε "use :prototype()").

Σε πιο απομακρυσμένα σχέδια, αναμένουν να ενεργοποιήσουν την υποστήριξη Unicode από προεπιλογή, η οποία θα εξοικονομήσει τους προγραμματιστές από τον καθορισμό "χρήση utf8" στον κώδικα. Για λειτουργικές μονάδες και σενάρια που έχουν προβλήματα με τις νέες προεπιλεγμένες ρυθμίσεις, είναι δυνατή η επαναφορά της συμπεριφοράς Perl 5 προσθέτοντας τη γραμμή "use compat::perl5" στον κώδικα. Οι μεμονωμένες ρυθμίσεις θα αποθηκευτούν επίσης και μπορούν να αλλάξουν μεμονωμένα.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο