Where has PHP been, where is it now, and where is it going?
PHP, the incredibly popular server-side scripting language originally created by Rasmus Lerdorf in 1995, has become one of the greatest success stories of the open-source software movement. Today, PHP is estimated to be installed on millions of web servers worldwide, fueling an estimated 244 million websites.
Some analysts claim that over 90% of the Internet is enabled by PHP scripts. Yet, ironically, some analysts and professional language critics still view PHP's success as a quirk. What's the truth? How important is PHP to the Internet or to our organizations?
As of April 2013, PHP use on web servers now outstrips the use of every other server-side scripting language on the Internet. It's implemented more than ASP.NET, Java, ColdFusion, Perl, Ruby, and Python combined. As the language-to-know, it is—in a single word—"imperative."
Market Share of Server-Side Languages |
|||||
|
2010 |
2011 |
2012 |
2013 |
2013 |
PHP |
72.5% |
75.3% |
77.3% |
78.7% |
79.0% |
ASP.NET |
24.4% |
23.4% |
21.7% |
20.2% |
20.0% |
Java |
4.0% |
3.8% |
4.0% |
4.1% |
4.1% |
ColdFusion |
|
1.3% |
1.2% |
1.1% |
1.1% |
Perl |
|
1.1% |
1.0% |
0.8% |
0.7% |
Ruby |
0.5% |
0.5% |
0.6% |
0.5% |
0.5% |
Python |
0.3% |
0.3% |
0.2% |
0.2% |
0.2% |
Yet, despite its popularity—or because of it—PHP has had some unique growing pains. So understanding how PHP grew can help us understand how the latest PHP tools are bringing added power and functionality to our systems.
A Just-In-Time Scripting Language
When PHP first arrived on the scene, web pages were still primarily hand-coded with static HTML. HTML 2.0 was released in the latter days of 1995, but it provided very limited handling of variable data. Netscape's JavaScript—a lightweight syntax of Java—was still called LiveScript back then and was just making its appearance in the Netscape browser. The scripting language Perl Version 5.0 had been released the year before but was quickly running behind the dynamic demands of web designers. Open-source Content Management Systems (CMS) were still 10 years away.
The requirements of dynamic and individualized websites called for a more powerful server-side scripting language that was object-oriented and easy to learn, handled forms, and accessed databases to rapidly assemble a Web page based upon ad hoc browser input. Lerdorf's "Personal Home Page" scripting language was the germ of what today has become PHP (a recursive acronym for PHP: Hypertext Preprocessor). It was easy to learn, handled forms, and had the potential to serve admirably as a web server scripting language.
In 1997. Zeev Suraski and Andi Gutmans rewrote the original PHP parser that formed the base of the PHP 3 language. The official launch came in June 1998. Suraski and Gutmans then started a new rewrite of PHP's core, producing the Zend Engine in 1999. They also founded Zend Technologies in
The Saga of PHP 6.0
Given PHP's popularity as an open-source programming language, one might have assumed that the continued development of the syntax and the functionality of PHP would push version after version through web servers around the world, fragmenting the support and the usability of PHP. But something peculiar happened on the way to version 6 of PHP.
Version 6.0 was to be internationalized with full Unicode support, enabling double-byte languages such as Chinese and Japanese to transparently make use of PHP. But, according to reports, developers ran into difficulties working with UTF-16 (16-bit Unicode Transformation Format). There were problems with performance, as UTF-16 required twice as much memory. And there were also issues with backward compatibility to previous versions of PHP.
The result was that many open-source contributors to the PHP project lost interest. Some refused to use the 6.0 "trunk" as their main development tree. Instead, they chose to develop using the stable 5.2/5.3 trees. Others, according to reports, left the PHP development community entirely.
In May of 2010, the originator of PHP, Rasmus Lerdorf, acknowledged that the momentum for an internationalized version as defined by PHP 6 was flagging in the open-source developer community. Consequently, it was decided that many of the enhancements planned for PHP 6 should be reincorporated into a new PHP 5.3 release. As a result, the PHP version 6—with UTP-16 internationalization—became a project with no planned release date.
Did that spell the end to PHP evolution? Not in the least.
Continual Evolution of PHP
The PHP Group, the group that controls the development of the PHP language, decided to bring a more formalized timeline for delivering PHP updates. One reason was, with so many websites embracing PHP as a scripting language, there needed to be a means of controlling identified problems and delivering fixes in a predictable manner. At the same time, however, there was a need for establishing stability in the face of PHP's open-source nature, in which anyone might make changes to the base code.
With these two thoughts in mind, the PHP Group decided that PHP would receive updates with fixes every month, incrementing the release numbers within the base trunk. Then, once per year, a minor release would also include new features. Every minor release would have at least have two years of security and bug fixes, followed by at least one year of security-only fixes, for a total of a three-year release and support process for every minor release. According to this timeline, no new features (unless small and self-contained) are introduced into a minor release during the three-year release process.
This timeline has permitted sites using PHP to keep on top of release levels coming through the PHP community, while simultaneously stabilizing the rate of change that the open-source project was experiencing.
How well is this plan working?
In March of 2012, version 5.4 was released. The current version of PHP as of May of 2013 is 5.4.15, and a Release Candidate for 5.5.0 was made available for inspection on May 9. So the language is continuing to evolve at a definable and stable rate, and the result has been an unprecedented acceptance of PHP as one of the key infrastructural pieces of the World Wide Web.
The Open-Source Stack and the Server Evolution
Meanwhile, the PHP stack—the open-source code that comprises the functionality of the PHP interpreter—has essentially gone viral, with PHP servers appearing for almost every conceivable computing platform. There are PHP interpretive servers for Windows, UNIX, Linux, Mac OS, and—most importantly—the IBM i.
This popularity has inspired companies to build PHP compilers that compile PHP source into bytecode. In fact, several compilers have been developed that decouple the PHP language from the interpreter. Advantages of compilation include better execution speed, static analysis, and improved interoperability with code written in other languages. PHP compilers of note include Phalanger, which compiles PHP into Common Intermediate Language (CIL) bytecode, and HipHop, developed at Facebook and available as open source, which transforms the PHP Script into C++ and then compiles it, reducing server load up to 50%. Other companies have developed PHP servers with comprehensive caching facilities to increase performance of PHP source. And of course, Zend Technologies has created the complete development environment for PHP with its Zend Studio IDE. But that's only the beginning.
Advances at Zend Technologies
Zend Technologies, the company that spearheaded so much of the phenomenal growth of PHP, continues to chart the future of PHP by providing a vast array of new services and features to both the open-source PHP community and the commercial marketplace.
The most important news for IBM i users of PHP has been the release last April of Zend's current PHP server, entitled Zend Server 6.
Zend Server 6 enables enterprises with IBM i systems to create, publish, and manage mobile applications using PHP on their IBM i system, while leveraging the value of existing back-end programs, applications, and business logic.
The Zend Server 6 runs natively on the IBM i and provides a fully supported platform for creating modern web and mobile applications that access the RPG/COBOL code, as well as business logic and the DB2/400 database that resides on the IBM i. This means that IBM i clients can avoid the significant risk and cost of rewriting their legacy business logic in order to launch new modern applications. Instead, IBM i users can focus their resources on unlocking new opportunities.
PHP Going Mobile
Zend also announced a new Mobile Smart Start for IBM i. This is a fixed-price training and consulting engagement designed to provide everything a team needs to deliver their first mobile application project on the IBM i. The offering includes the design of a pilot project or specific piece of mobile application functionality, installation assistance, focused and tailored training either onsite or online, and hands-on coaching by Zend consultants through the development and deployment of the pilot mobile project.
PHP in the Cloud
Finally, one of the most interesting offerings is the Zend Developer Cloud at PHPCloud.com. The Zend Developer Cloud is a cloud-based environment designed to help programmers code more quickly and efficiently. It includes a robust PHP stack, advanced debugging capabilities, collaboration tools, and access to some of the best tools Zend has to offer. Zend Developer Cloud doesn't require any installation, and it's free.
When the developer is ready to push the application into live space, he can run on any of the cloud services that support Zend Server, such as Amazon and IBM SmartCloud. Or, if it's to be a private cloud application, it can be deployed locally on-premise using Zend Server. On-premise deployment can also be fully automated to deliver equivalent benefits of a public cloud turnkey solution. Using the same application platform in development, testing, and production means faster and easier deployment.
The Future of PHP
Obviously, a lot has changed since PHP first came on the scene in 1995. And PHP has grown to meet the challenges of those changes. Yet, for some developers who continue to seek the Holy Grail of language perfection, the question of a future for PHP seems ludicrous. For these nay-sayers, PHP still suffers from a lack of rigorous structure, a growing fragmentation of server services, and a tarnished reputation for the unusual delay of the PHP Version 6 stack. "Sure, PHP is popular," these developers say, "but it's not a serious language for serious developers."
Yet the statistics don't lie: PHP is the predominant server-side scripting language on the Internet with over 79% deployment, and it continues to gain market share, at the expense of the so-called "more serious languages" like ASP.NET, Java, Ruby, and others.
Consequently, to ignore PHP is like trying to ignore oxygen in the atmosphere: PHP has become one of the most important pieces of the Internet infrastructure, and it will be difficult for another upstart language to unseat its strategic place.
In the meantime, the PHP community—in particular, Zend Technologies—continues to propel PHP to meet the demands of the Internet with constructive and creative implementations while they build upon the base established by the open-source software movement.
This is what makes the rise of PHP so interesting to industry watchers: It's an organic, living language fueled by millions of developers who are pouring their creativity into real-world applications and uses. And, unlike so many other "serious" languages, no one "owns" PHP: It's an open-source venture that has transformed—and will continue to transform in the decades to come—how we utilize the Internet.
So where is PHP going? The answer seems to be "Everywhere!"
LATEST COMMENTS
MC Press Online