Programiści języka PHP z myślą o stworzeniu nowego dialektu języka P++, który pomoże przenieść język PHP na nowy poziom. W obecnej formie rozwój języka PHP jest utrudniony przez konieczność zachowania zgodności z istniejącą bazą kodu projektów internetowych, co utrzymuje programistów w ograniczonych ramach. Jako wyjście równolegle rozpocząć rozwijanie nowego dialektu PHP - P++, którego rozwój będzie prowadzony bez względu na konieczność zachowania wstecznej kompatybilności, co pozwoli na wprowadzenie do języka rewolucyjnych udoskonaleń i pozbycie się przestarzałych koncepcji.
Najbardziej zauważalnymi zmianami w P++ będą przejście na silne typizowanie, usunięcie znaczników „‹?”, wycofanie funkcji array() na rzecz składni „[]” i usunięcie globalnej przestrzeni nazw dla funkcji.
Projekt został tymczasowo nazwany P++ (PHP Plus Plus) przez analogię do C++. PHP i P++ mają być rozwijane równolegle i używać jednego środowiska wykonawczego. Komponenty niskiego poziomu, struktury danych, rozszerzenia i optymalizacje wydajności niezwiązane ze składnią będą rozwijane jednocześnie dla PHP i P++, ale wsteczna kompatybilność będzie zachowana w trybie PHP, podczas gdy P++ będzie używane do eksperymentowania z ewolucją języka.
Kod PHP i P++ można mieszać w jednej aplikacji i wykonywać za pomocą jednego interpretera, ale metoda rozdzielenia kodu nie została jeszcze ustalona. Jednocześnie twórcy nie rezygnują z planów rozwijania gałęzi PHP 8, w której dodaj kompilator JIT i narzędzia, aby zapewnić przenośność z bibliotekami C/C++. Projekt P++ jest nadal w fazie propozycji. Głównym propagatorem P++ jest Zeev Suraski (), jeden z liderów społeczności programistów PHP, współzałożyciel Zend Technologies i autor Zend Engine.
Z przeciwnicy mogą mieć obawy dotyczące braku zasobów potrzebnych do promowania projektu (tylko dwóch programistów pracuje nad PHP na pełen etat), możliwości fragmentacji społeczności i konkurencji z istniejącym językiem (PHP ze statycznym typowaniem), doświadczenie w projekcie HHVM (ostatecznie obsługa PHP i Hack w jednym środowisku uruchomieniowym), konieczność zmiany semantyki na rzecz silnego typizowania, niebezpieczeństwo stagnacji PHP i rozwój innowacji tylko w P++, pytania o organizację współistnienia i interakcji PHP i P++ (nietrywialność konwersji kodu PHP do P++ (składnia może się tak bardzo różnić, że aplikację trzeba będzie napisać od nowa), niezgodność P++ z istniejącymi narzędziami dla PHP i konieczność przekonania autorów narzędzi, systemów testowych i IDE do zapewnienia wsparcia dla nowej edycji).
Źródło: opennet.ru
