Happy Birthday, PHP!

Ten years ago, when Rasmus Lerdorf gave birth to Personal Home Page Tools 1.0 little did we know that it would grow and mature into the PHP: Hypertext Preprocessor that it is today. For that matter, far be it from any to predict (at that time) that an entire sub-industry would be created from it. So, today, on the 10th birthday of PHP, let me share my story and early experience with PHP, as others have been doing.

Ten years ago, I had just finished my sophomore year of high school, and I had grown accustomed to writing my school reports on a 386 and printing them out on a dot-matrix printer with the irritating tear-off feed guides on the sides of the pages. My previous experience with computers involved a Commodore 64 and an Atari 400, on both of which I played around with BASIC through elementary and middle school, particularly creating my own Mad Libs (a good way to hone my skills of accepting input and displaying it on output). At the time, I remember hearing about the Internet and I distinctly remember noticing a URL used for the first time on a car commercial – it was for Saturn. The AOL boom was about to hit, and my dad decided he wanted to get connected, so we bought a Packard Bell computer with a 900 (later upgraded to a blazing-fast 1440) baud modem, and got connected.

In those days, we had only the Web browser that our ISP gave us, which was Netmanage’s Internet Chameleon. The early version of Chameleon didn’t support fonts, font colors, or background colors, so while I was enamored with the World Wide Web, I came to believe it was all black-and-white – that is, until I decided I wanted to see what made the pages “tick,” so to speak. I started viewing the source code, copying and pasting it to see what would happen when I pieced different elements together. This is how I learned HTML and Javascript. In the code, I saw where people were defining fonts and colors, and I decided to download and try out Netscape Navigator, where I learned that the WWW was really a colorful place.

I went on to create the first Web site for my high school, along with many other small sites I created just for the heck of it. After graduation, I left for college to pursue a degree in English because I never even considered the fact that I could have a career in the Web industry. It was 1997 then, and I had yet to hear of PHP, but I had begun to use Perl for CGI scripts.

While in college, I played in a small “lounge rock” band (Not Quite Seven,) but playing in the band was not the important part; making the band’s Web site, however, was, though I didn’t expect anything to come of it. Someone who had seen some of my skills as a Web developer told me to apply with the school’s student jobs office, so I did. Soon after, I was developing and maintaining the content for the college’s athletics department. Again, with the band Web site and the athletics department Web site, I was noticed again – this time in 1999 by someone with an Internet start-up company. He needed a webmaster; I was happy to join the team.

Still, 1999 turned into 2000, and I had yet to hear even of ASP, much less PHP. I had likely seen the file extensions used on Web sites, but I didn’t give much thought to them. I stuck with Perl…until one fateful day.

In January of 2000, after having just started working for the Internet start-up company, I visited a friend of mine who worked for 99X radio in Atlanta. She took me on a tour of the station, I met a few of the DJs, but then she left me to talk to the station’s webmaster, Jim Dougherty. Jim and I carried on a conversation at length (probably for about 45 minutes or more) about building dynamic Web sites with ASP/VBScript. I was ecstatic. Here was something new and exciting that could make my life easier! Straightway, I started building dynamic Web sites in ASP using a Microsoft Access database back-end.

Later that year, I switched jobs for more money and the more relaxed company culture of EUREKA! Interactive. At EUREKA!, we were building dynamic Web sites using ASP on a Cobalt RaQ4r (which used a derivative of RedHat Linux 6, I believe). The RaQ came with ChiliSoft ASP installed, so we could easily run ASP in the Linux environment.

It was during this time that I also discovered PHP. It was already running some of the applications on the RaQ; the files used the old .php3 extension. I decided to try playing around with it, but at the same time, an update patch to the RaQ broke the ChiliSoft ASP installation. Our ASP-driven sites went down, costing us much money. The kind folks at ChiliSoft were on the phone with us for hours, and we gave them root access to see if they could solve the problem. In short, they were able to solve the problem – but only at the expense of losing PHP. To this day, I have yet to figure out how the two were connected, but when they disabled PHP in Apache, they regained control of ASP. Our sites were back up, but it would be 2002 before I rediscovered PHP and 2003 before we started deploying sites using it.

I think what initially turned me on to PHP in 2002 was its power and flexibility, along with the rapid manner in which an application could be built and deployed. ASP was powerful in itself, but it was limited. ASP applications are not as portable. The ChiliSoft ASP implementation was good, but it was not perfect; it could not support some of the features of ASP running on IIS on a Windows server.

Similarly, ASP does not have the far reaching strength of PHP. To send e-mail, you need a COM object. To upload files, you need a COM object. To perform any HTTP action from within the script, you need a COM object. And, for the most part, these all cost money and must be installed separately. The cost of ASP was starting to outweigh any benefits it might have had. PHP was a natural choice.

After switching to PHP for its power, flexibility, and ease of use, I started to realize that not only did I switch to a great development language, but I also switched to a large community of devoted developers. The community is just as much a reason to use PHP. It is vast; it is growing; it is healthy. And we are not without our disputes and problems, but this community is likely the most helpful and newbie-welcoming community that exists among interpreted programming languages to date. I submit that this is quite possibly the reason PHP is in use on more than 20 million domains today.

So, that is how I became connected with a large and devoted user base and began using PHP. Over the past ten years, PHP has developed into quite a niche industry, and the industry is growing and appears healthy to me. I think that the next ten years will bring about more growth in this industry, as well as some fresh surprises in the core of the language itself. PHP started out simple; let’s hope the simplicity everyone has come to love continues to drive the direction of the language.

Thank you, Rasmus, for creating a language that I both love and use to pay the bills!

As others have done, here is my collected list of birthday wishes for PHP:

Find more on this topic at del.icio.us.