PHP gets a formal specification, at last
Despite becoming one of the most widely used programming languages on the Web, PHP did not have a formal specification, until now.
The developers who oversee the language, including engineers from Facebook, are assembling a document that details how PHP should work, which sets the stage for building additional implementations.
“It is about time a formal specification is defined for PHP, though the lack of one has by no means hindered the adoption of this programming language,” wrote Al Hilwa, programme director of software development research for IT analyst firm IDC.
Facebook engineer and PHP core contributor Sara Golemon announced the initiative at the O’Reilly Open Source Convention earlier this month in Portland, Oregon. An initial draft of the specification was posted Wednesday on GitHub.
Capturing how PHP should work in a formal document will help the language, Hilwa said, because it will provide other parties with a guide to implementing PHP with exact fidelity.
Most all programming languages, such as Java or C++, have specification documents, which allow software companies to build compilers, runtime engines and other software supporting the language.
Facebook built and released the HipHop Virtual Machine, which runs PHP more quickly.
Like Facebook, other parties could implement PHP for additional platforms, or bring other innovations and ways to improve the performance of running PHP code.
Created by Rasmus Lerdorf in 1994, PHP had an inauspicious start as a set of scripts for dynamically updating Lerdorf’s home page. Over the years, Lerdorf and others augmented PHP to make a full-fledged server-side web language.
Thanks to its copious use on the Web, PHP is the seventh most widely used language today, according to the latest monthly estimate of programming language popularity from development tools provider Tiobe.
The company also posted a library for supporting functional programming techniques, called immutable-js, as well as an Android user interface library rebound-js.
Joab Jackson, IDG News Service