Προγραμματισμός

PHP plus: Η πρόταση P ++ θα δημιουργούσε μια αυστηρότερη διάλεκτο

Μια νέα διάλεκτος της PHP, με κωδικό-όνομα P ++, θα μπορούσε να αναπτυχθεί ως μια αυστηρότερη παραλλαγή του δυναμικού προκατόχου της, με πιο προηγμένα χαρακτηριστικά και λιγότερες αποσκευές.

Η πρόταση, που κυκλοφόρησε στην κοινότητα της PHP από τον συνιδρυτή της PHP, Zeev Suraski, θα είχε το P ++, ή οτιδήποτε καλείται τελικά, να ζει παράλληλα με την PHP αλλά δεν δεσμεύεται από την ιστορική φιλοσοφία της PHP. Το P ++ δεν θα ήταν ένα πιρούνι, αλλά θα ήταν εγγενώς πιο αυστηρό και θα μπορούσε να είναι πιο τολμηρό με συμβατότητα προς τα πίσω.

Στοιχεία που θεωρούνται τώρα "αποσκευές", όπως σύντομες ετικέτες, θα μπορούσαν να αφαιρεθούν ενώ πολύπλοκα χαρακτηριστικά, ειδικά εκείνα για αυστηρά πληκτρολογημένες γλώσσες, όπως αυστηροί χειριστές ή μεταβλητές που πληκτρολογήθηκαν, θα μπορούσαν να προστεθούν χωρίς να εισαχθεί η ίδια πολυπλοκότητα στη διάλεκτο PHP.

Όπως και η ίδια η PHP, το P ++ θα ήταν κυρίως για ανάπτυξη ιστού από διακομιστή. Η προγραμματισμένη κυκλοφορία PHP 8 αναμένεται ήδη να επεκτείνει την PHP πέρα ​​από την ανάπτυξη ιστού, με μια μηχανή "just-in-time" και διαλειτουργικότητα με βιβλιοθήκες C / C ++.

Η συντριπτική πλειοψηφία του κώδικα σε PHP και P ++ θα ήταν ίδια. Οι περισσότεροι κωδικοί θα μοιράζονται μεταξύ PHP και P ++ κόμβους τόσο στην πηγή όσο και στο χρόνο εκτέλεσης. Αλλά θα είχαν διαφορετικές υλοποιήσεις. Τα δυαδικά αρχεία θα είναι ίδια.

Αυτό που δεν είναι ακόμη σαφές είναι πώς ένα αρχείο θα επισημάνθηκε ως αρχείο P ++. Θα είχε πιθανώς μια ειδική κεφαλίδα στην κορυφή. Οι κατασκευαστές θα μπορούσαν επίσης να βρουν τρόπους να επισημάνουν ολόκληρους χώρους ονομάτων ως P ++, επομένως τα πλαίσια δεν χρειάζεται να επισημάνουν κάθε αρχείο ως P ++.

Δομές δεδομένων, διεπαφές διακομιστή ιστού, βασικά υποσυστήματα και σχεδόν οτιδήποτε άλλο θα είναι ο ίδιος ίδιος κώδικας ανεξάρτητα από το εάν ένα αρχείο εκτελείται ως PHP ή P ++. Ωστόσο, θα πρέπει να διατηρηθούν δύο εκδόσεις ορισμένων κομματιών κώδικα. Και το P ++ είναι πιθανό να έχει επιπλέον ελέγχους σε σύγκριση με το PHP. Οι προγραμματιστές θα μπορούσαν να συνδυάσουν PHP και P ++ στην ίδια εφαρμογή. Και οι δύο διάλεκτοι θα μπορούσαν να εκτελεστούν σε έναν μόνο διακομιστή.

Εάν συμβεί P ++, αυτό θα σήμαινε μια διαφορετική εξέλιξη για την PHP. Η αυστηρότητα και τα χαρακτηριστικά που σχετίζονται με τον τύπο είναι πιθανό να διατίθενται στο P ++. Η προκατάληψη για συμβατότητα προς τα πίσω θα παραμείνει στην PHP. Άσχετα χαρακτηριστικά, όπως βελτιώσεις απόδοσης στον κινητήρα ή εξελίξεις στις επεκτάσεις, θα ήταν διαθέσιμα τόσο στο P ++ όσο και στο PHP.

Ο Zuraski επισημαίνει πιθανές επιλογές για τη γλώσσα P ++:

  • Μείνετε με μια δυναμική PHP, η οποία δεν θα γίνει αποδεκτή από τους υποστηρικτές μιας αυστηρότερης γλώσσας.
  • Εξελιγμένη προς μια αυστηρότερη PHP, μη αποδεκτή από τους υποστηρικτές μιας πιο δυναμικής γλώσσας.
  • Απαλλαγή από τη βάση κώδικα, μια καθαρή απώλεια για όλους τους εμπλεκόμενους.
  • Επινοώντας μια λύση για να καλύψουμε και τα δύο είδη κοινού, κάτι που επιχειρεί η πρόταση P ++.

Οι ανησυχίες σχετικά με την πρόταση P ++ περιλαμβάνουν:

  • Η μετατροπή κώδικα PHP σε P ++ δεν θα ήταν ασήμαντη. Το πόσο αληθινό είναι αυτό θα εξαρτηθεί από το τι τελικά καταλήγει στο P ++.
  • Τα εργαλεία PHP δεν θα υποστηρίζουν το P ++. Αλλά θα μπορούσε να είναι απλούστερο για τους πωλητές να υποστηρίζουν το P ++ παρά να υποστηρίζουν τις αναλυτικές δηλώσεις ή απεριόριστες εκδόσεις.
  • Σπάσιμο της συμβατότητας PHP. Αλλά το να το κάνεις μέσω μιας νέας διαλέκτου αντί να σπάσεις την ίδια την PHP θα μπορούσε να είναι πιο εύγευστο.

Το P ++ θα διαφέρει από τη γλώσσα Hack του Facebook, η οποία βασίστηκε στην PHP, σε αυτό:

  • Το Hack αναπτύχθηκε από μία εταιρεία.
  • Το Hack και η συνοδευτική εικονική μηχανή HHVM δεν διαθέτουν το μεγάλο όχημα διανομής της PHP.