Dezvoltatorii limbajului PHP au venit cu ideea de a crea un nou dialect P++, care va ajuta limbajul PHP să evolueze la un nou nivel. În forma sa actuală, dezvoltarea PHP este împiedicată de necesitatea de a menține compatibilitatea cu baza de cod existentă a proiectelor web, ceea ce limitează dezvoltatorii. Ca o soluție, propun să se înceapă simultan dezvoltarea unui nou dialect PHP – P++, al cărui proces de dezvoltare va fi realizat fără a ține cont de necesitatea de a menține compatibilitatea inversă, ceea ce va permite adăugarea de îmbunătățiri revoluționare și eliminarea conceptelor depășite.
Cele mai notabile schimbări în P++ vor include trecerea la utilizarea tipizării stricte, eliminarea utilizării etichetelor „‹?” și încetarea suportului pentru array() în favoarea sintaxei „[]”, precum și interzicerea utilizării spațiului de nume global pentru funcții.
Pentru proiect, s-a ales inițial numele P++ (PHP Plus Plus) în analogie cu C++. PHP și P++ urmează să fie dezvoltate împreună și să utilizeze un runtime comun. Componentele de nivel inferior, structurile de date, extensiile și optimizările performanței, care nu sunt legate de sintaxă, vor fi dezvoltate simultan pentru PHP și P++, dar în modul PHP se va menține compatibilitatea inversă, în timp ce în P++ se va putea experimenta cu evoluția limbajului.
Codul scris în PHP și P++ poate fi combinat într-o singură aplicație și executat de un singur interpret, dar metoda de separare a codului nu este încă definită. De asemenea, dezvoltatorii nu renunță la planurile de dezvoltare a ramurii PHP 8, în care se va adăuga un compilator JIT și instrumente pentru asigurarea portabilității cu biblioteci în C/C++. Proiectul P++ se află încă în stadiul de discutare a propunerii. Cel mai important susținător al P++ este Zeev Suraski (), unul dintre liderii comunității dezvoltatorilor PHP, cofondator al companiei Zend Technologies și autor al motorului Zend Engine.
Din oponenților includ îngrijorări legate de lipsa de resurse pentru promovarea proiectului (numai doi dezvoltatori lucrează cu normă întreagă la PHP), posibilitatea de fragmentare a comunității, concurența cu limbajul existent (PHP cu tipizare statică), și experiența proiectului HHVM (care, în cele din urmă, susținerea în același runtime a PHP și Hack), necesitatea modificării semanticii pentru tipizarea strictă, pericolul stagnării PHP și dezvoltării inovațiilor doar în P++, întrebări legate de organizarea coexistenței și interacțiunii dintre PHP și P++ (non-trivialitatea conversiei codului PHP în P++ (sintaxa poate diverge atât de mult încât va fi necesară rescrierea aplicației), incompatibilitatea P++ cu instrumentele existente pentru PHP și necesitatea de a convinge autorii instrumentelor, sistemelor de testare și IDE-urilor să asigure suport pentru noua ediție).
Sursa: opennet.ro
