My first real exposure to Web programming came in 1993, not long after the concept of using HTTP as a vehicle for running Web services moved out of the experimental stage and into everyday use. Since that time, a plethora of server-side languages have emerged, all designed to make the world easier for the beleaguered Web programmer. These include C, shell scripts, Perl, ASP, ColdFusion, Java Servlets, JSP, XSP, Struts, Velocity, ASP.NET, and the list keeps getting longer and longer. Each language, of course, targets a particular type of programmer and a set of programming requirements.
Then there's PHP. It's very easy to use, taking the best features of Perl, C, and ASP and rolling them into a package that can readily be picked up by a novice. For IT managers, PHP is surprisingly universal—you can run PHP on an Apache server hosted in Windows or Linux, or in IIS under Windows or on a Sun Solaris box. In short, there seems to be a PHP implementation for just about every significant Web-hosting platform out there. It's also versatile. I have used it to render sophisticated graphics, send and receive mail, talk with databases, create PDF files, and direct Shockwave Flash movies. PHP understands XML, XSLT, and XML Web services, handles regular expressions, can work with COM objects and Java, and, incidentally, is native to the Web. In addition, its environment intrinsically converts request parameters into variables and prints implicitly to output. So what is keeping PHP from running on your corporate network?
Why PHP is still underground
I think a lot of IT managers tend to dismiss PHP because they see it as an interpreted, scripted language, a throwback to the not-so-distant days of ASP scripting. What's funny, though, is that for every major site out there that expects to get 100,000 hits per hour, there are hundreds—if not thousands—that can get by just fine with that “scripting” performance. Because of the robust caching mechanisms with Apache and the speed of the Zend engine that underlies PHP, the language itself is faster than most solutions I've seen, including certain compiled applications such as ASP.NET or JSP.
The other aspect of PHP that tends to make it less visible is its open source nature. Begun in 1995 as a home brew project by Rasmus Lerdorf to track accesses to his online resume, the code quickly outgrew its Perl origins and was rewritten in C for performance. Later that year, Lerdorf released PHP/FI to the Web under an open license, and it was very quickly adopted by Web developers who were laboring under the limitations that ASP and ColdFusion brought to the table.
In 1997, Andi Gutmans and Zeev Suraski rewrote the engine again to better work as an e-commerce platform, officially calling it PHP3 and announcing it as the successor to PHP/FI. The meaning of PHP was also changed from “Personal Home Page” to the more recursive (and infinitely cooler) “PHP: Hypertext Processor.” Three years later, the core was rewritten once more, with the underlying language being upgraded to the designation of PHP4, and it is this version that is most pervasively used today. At present, PHP accounts for roughly 23 percent of all domains on the Internet, and this number has been rising consistently as more people come in contact with sites that employ the technology.
Perhaps because of the open source nature of the application, one interesting implication of PHP is that the types of sites using it seem to be within the .org domain. During the commercial hey-days of the 1990s, when every company had to have its Web presence, the .com domain was pre-eminent. Companies might have had an .org as protection from potential namespace poachers and vandals, but if they did, it would just be a link to their “real” .com site. Yet, this decade may very well come to be called the .org era.
PHP powers the overwhelming majority of these .org sites because most of the PHP programmers that I know are not found in cubicles, hacking out code for a company's next major product release. In many cases, they tend to be self-employed (a programmer who isn't employed by others will usually be hip deep in his or her own projects). They also tend to be very knowledgeable about programming, but recognize that by keeping the simple stuff simple, they can concentrate on enhancing the tools rather than just hacking together pages.
The future of PHP
After more than two decades watching the software industry evolve, I've found that if you want to see what the dominant technology will be five or six years down the road, look for the stuff that is growing today despite having no marketing department or formal business structure. Some other questions to ponder about future Web development technology for your company are:
- · Is it easy to adapt to different platforms?
- · Is it easy enough to use that a person with a basic programming background can be writing simple applications within a couple of hours and sophisticated ones within a week?
- · Is it free?
- · Is it what programmers use at home in their spare time, even if they have to use other languages at work?
These are all telling indicators of what will be a hot technology for the long haul, and by all of these measures, PHP has a well-assured future.