Ανάλυση κινδύνου για την πρωτοβουλία Perl 7

Dan Book (Dan Book), υποστηρίζοντας περισσότερες από 70 ενότητες στο CPAN, πραγματοποίησε την ανάλυση κινδύνους κατά την εφαρμογή της προτεινόμενης Σχέδιο υλοποίησης Perl 7. Ας υπενθυμίσουμε ότι στον κλάδο Perl 7 σκοπεύουν να ενεργοποιήσουν τη λειτουργία αυστηρού ελέγχου "αυστηρή" από προεπιλογή, να ενεργοποιήσουν τις "προειδοποιήσεις χρήσης" και να αλλάξουν την τιμή ορισμένων παραμέτρων που επηρεάζουν τη συμβατότητα με τον παλιό κώδικα.

Η αλλαγή αναμένεται να σπάσει μεγάλο αριθμό λειτουργικών μονάδων CPAN στο Perl 7 και να απαιτήσει αλλαγές σε κάθε ενότητα, κάτι που δεν είναι ρεαλιστικό να εφαρμοστεί εντός του έτους-στόχου, ειδικά επειδή δεν παραμένουν όλοι οι συγγραφείς διαθέσιμοι. Οι αλλαγές στο Perl 7 θα αποτρέψουν επίσης τη χρήση λειτουργικών μονάδων που έχουν σχεδιαστεί για να υποστηρίζουν περισσότερα από την πιο πρόσφατη έκδοση της Perl.

Επιπλέον, αναφέρονται τα ακόλουθα πιθανά προβλήματα:

  • Σύγχυση μεταξύ των αρχαρίων λόγω ορισμένων παραδειγμάτων και συστάσεων από εγχειρίδια που γράφτηκαν για το Perl 7 που δεν λειτουργεί στο Perl 5.
  • Ο αντίκτυπος στην ανάπτυξη των one-liners δεν έχει μελετηθεί. Η Perl χρησιμοποιείται ενεργά όχι μόνο για τη σύνταξη μεγάλων σεναρίων, αλλά και για τη δημιουργία μονογραμμών και σύντομων σεναρίων για τις ανάγκες των διαχειριστών, στα οποία η χρήση αυστηρής λειτουργίας δεν είναι απαραίτητη.
  • Οι διανομές έχουν πρόβλημα με την ταυτόχρονη παράδοση εκτελέσιμων αρχείων για εκτέλεση σεναρίων Perl 7 και Perl 5 (η ιστορία αναμένεται να επαναληφθεί με Python 2 και 3).
  • Ο κώδικας που γράφτηκε για το Perl 7 δεν χρειάζεται να σημειώσει συγκεκριμένα ότι δεν θα εκτελεστεί στο Perl 5· πολλοί προγραμματιστές δεν θα καθορίσουν μια ελάχιστη υποστηριζόμενη έκδοση.
  • Διάφορα βοηθητικά προγράμματα και ενότητες που βασίζονται στο Perl 5 θα απαιτούν διορθώσεις.
  • Η προετοιμασία του Perl 7, λόγω της ανακατανομής των πόρων, θα παγώσει την ανάπτυξη νέων χαρακτηριστικών της Perl για κάποιο χρονικό διάστημα.
  • Υπάρχει κίνδυνος εξάντλησης και αποχώρησης ενεργών προγραμματιστών του διερμηνέα Perl, των μονάδων, των εργαλείων και των συνοδευτικών πακέτων λόγω του μεγάλου πρόσθετου φόρτου εργασίας χωρίς τα κατάλληλα κίνητρα (δεν συμφωνούν όλοι με την ανάγκη δημιουργίας Perl 7).
  • Η κουλτούρα στην κοινότητα και η στάση απέναντι στη σταθερότητα του Perl θα αλλάξει ριζικά.
  • Η εξουσία της γλώσσας θα υπονομευθεί λόγω της κριτικής ότι η Perl 7 είναι ασυμβίβαστη με τον υπάρχοντα κώδικα ελλείψει κάτι θεμελιωδώς νέου.

Για να εξομαλύνει τις αρνητικές συνέπειες, ο Dan Book πρότεινε το σχέδιό του, το οποίο θα αποφύγει ένα κενό συμβατότητας. Προτείνεται να διατηρηθεί η ίδια διαδικασία ανάπτυξης και αντί για το 5.34.0, να εκχωρηθεί ο επόμενος αριθμός έκδοσης 7.0.0, στον οποίο θα απενεργοποιήσουμε την υποστήριξη για σημείωση κλήσης έμμεσων αντικειμένων και θα ενεργοποιήσουμε ορισμένες νέες δυνατότητες, όπως το try/catch. Αλλαγές όπως «αυστηρή χρήση» και «προειδοποιήσεις χρήσης» προτείνεται να ρυθμιστούν προσδιορίζοντας ρητά την έκδοση Perl στον κώδικα μέσω του «use v7» pragma (το αυστηρό είναι ήδη ενεργοποιημένο από προεπιλογή για «χρήση v5.12» και νεότερες εκδόσεις ).

Από προεπιλογή, συνιστάται ο διερμηνέας να διατηρεί ένα σύνολο παραμέτρων που δεν διαφέρουν από το Perl 5, με εξαίρεση την τυπική διαδικασία για τον καθαρισμό της παρωχημένης σύνταξης που χρησιμοποιήθηκε στο παρελθόν. Η υποστήριξη για παλαιότερες δυνατότητες και η καταργημένη σύνταξη μπορεί να συνεχίσει να διακόπτεται σύμφωνα με τους υπάρχοντες κανόνες κατάργησης. Προτείνεται η σηματοδότηση της χρήσης νέων στοιχείων Perl 7 στον κώδικα και ο διαχωρισμός νέων και παλαιών στυλ χρησιμοποιώντας το «use v7» pragma.

Πηγή: opennet.ru

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