A brand new dialect of PHP with the code identify P ++, could possibly be developed as a stricter variant of its dynamic predecessor, with extra superior options and fewer baggage.
The proposition, [ being launched into the PHP group by the co-founder of PHP, Zeev Suraski, would have P ++, or no matter its identify, dwelling alongside PHP however not linked to the historic philosophy of PHP. P ++ wouldn’t be a fork, however it might be intrinsically stricter and could possibly be extra daring with backward compatibility. for strictly typed languages comparable to strict operators or typed variables, could possibly be added with out introducing the identical complexity into the PHP dialect.
Like PHP, P ++ could be primarily for server-side Internet growth. The anticipated launch of PHP eight ought to already lengthen PHP past Internet growth, with a just-in-time engine and interoperability with C / C ++ libraries.
The overwhelming majority of the code in PHP and P ++ could be similar. A lot of the code could be shared between PHP and P ++ nodes, each in supply and at runtime. However they might have completely different implementations. The binaries can be similar.
What isn’t but clear is how a file could be marked as a P ++ file. He would most likely have a particular header on the high. Constructors may additionally discover methods to mark whole namespaces as P ++, so frameworks mustn’t mark every file as P ++.
Information constructions, Internet server interfaces, key subsystems, code no matter whether or not a file is executed as PHP or P ++. Nonetheless, two variations of some items of code must be maintained. And P ++ will most likely have extra checks towards PHP. Builders may mix PHP and P ++ in the identical utility. Each dialects could possibly be run on a single server.
If P ++ occurred, it might imply a distinct evolution for PHP. Strict and type-related traits will most likely go into P ++. Bias for backward compatibility will stay in PHP. Unrelated options, comparable to enhancing engine efficiency or altering extensions, could be out there in each P ++ and PHP.
Zuraski signifies the potential choices of the P ++ language:
Staying with a dynamic PHP, which advocates a stricter language.
Evolve in direction of a stricter PHP, unacceptable for supporters of a extra dynamic language.
Forking the codebase, a web loss for everybody concerned.
Design an answer tailored to each audiences, as proposed by the P ++ proposal.
The considerations raised by the P ++ proposal embrace:
The conversion of PHP code into P ++ wouldn’t be trivial. Its veracity will depend upon what’s going to finally result in P ++.
PHP instruments is not going to assist P ++. However it is perhaps simpler for distributors to assist P ++ reasonably than assist granular statements () or a limiteless variety of editions.
Break of PHP compatibility. However doing it through a brand new dialect reasonably than breaking PHP itself is perhaps extra acceptable.
P ++ could be completely different from the Fb Hack language constructed on PHP, in that:
Hack was developed by a single firm.
Hack and the accompanying HHVM digital machine wouldn’t have the big PHP distribution.