Announcing a specification for PHP
While there is extensive user-documentation, the PHP language has always been missing a language specification. That is not to say a specification hasn’t been thought about or discussed. It is just that one has never really come to fruition.
The Chinese philosopher Lao Tzu stated “A journey of a thousand miles begins with a single step”. We are excited to announce the initial draft of a specification for PHP.
And now, the entirety of the initial draft specification has been released to the world. It is hosted on a git repository at php.net and this repo will be mirrored to GitHub. Please have a read through the specification. Provide your pull requests and feedback. We hope and expect that this specification will evolve over time with the help of everyone who cares about the PHP language.
Thank you to the PHP group for taking the mantle and providing the infrastructure for hosting the further development of the specification and helping shepherd this as a truly community-owned and developed project.
Special thanks must be given to Rex Jaeschke, who lead the actual writing of the specification, and Drew Paroski, who was pivotal in the review effort and helped Rex shape the spec into its initial form. Thanks to Paul Tarjan, Sara Golemon, Fred Emmott, Josh Watzman and the rest of the HHVM team for their awesome contributions and feedback. And thank you to Stanislav Malyshev and Nikita Popov, who had an early look at the specification and provided valuable feedback.
Language specifications may not be flashiest things in the world of programming, but, in my humble opinion, this is an exciting day for the PHP language. Read on!!
- Radu Murzea: Excellent news ! I’m amazed at how far along the progress already is. You guys just made my day 😀
- PHPUser: Well, that’s good news. But don’t mix up the internet and the web 😉
- Alexandru Cobuz: Well php can get very fast if you are willing to learn how to make php extensions, it’s close to c performance. Take a look into zephir and do benchmarks. Still it’s a great thing that php decided to gain up speed since it’s that popular all over the globe.
- Jacek Kobus: one small step for a man, one giant leap for mankind.
- Daniele Filaretti: Good to hear that now there is also a specification! Independently, we developed a formal, executable semantics of PHP (www.phpsemantics.org) to be presented tomorrow at the ECOOP’14 conference. I wish we had this spec two years ago…!
- James Dicken: PHP is definitely not the lingua-franca of the internet.
- Sebs: What about nailing the spec own in a bunch of phpt files? I mean specs are executable these days and php has this phpt thingie. Its not the best but afaik its ok for the job.
- Mathieu Arnold: Wait, wait, this is not April 1st!
- Joel Marcey: Yeah, I thought this might cause a little bit of controversy after writing it, but then decided to leave it in. For server-side internet programming, I don’t think there is any doubt. Client-side, yeah, maybe a little more dubious. But all-in-all, PHP is right up there as one of the most used programming languages on the internet as a whole.
- Paul Biggar: I wrote a critique on the spec – I thought you guys might find it interesting: http://blog.circleci.com/critiquing-facebooks-new-php-spec/
- iwankgb: I can hardly believe my eyes.
- Joel Marcey: Paul, thank you very much for your well thought out piece on the PHP spec. We are super glad you found the spec to be of generally high quality. We knew that it would not be perfect; and that was ok with us. We really want this to be community effort moving forward to make the spec more awesome. We provided the jumping off point to make that happen.
- Mike Grice: The lingua franca of the Internet is BGP.
- Nitesh Khandelwal: That’s really a great news about PHP specification for us because PHP is one of the most popular language in the world around past 20 years and PHP always missing language specification.
- Nadir: Awesome news. Someone had to do it, and I am glad to see that a company with the weight of FB did it. Others have to react & move.
By: Joel Marcey Source