Last week I was in Orlando at the FileMaker DevCon where I spoke as part of the closing keynote. In preparing my slides, I was trying to find the right metaphor for PHP for those who were not familiar with it. Since most system admins I know carry a Leatherman, I thought about it for a while. Multi-purpose, easy to handle, not difficult to master, yea, it seemed to be the perfect metaphor. As with all metaphors though, it breaks down under scrutiny.
Yes, a Leatherman is a great tool in emergencies but if it were the end-all/be-all of tools, it would have put Home Depot out of business. In construction, there is no magic tool that does a lot of what you need done and does it well. So my metaphor breaks down because it’s limitations. PHP is at once a Leatherman to some, a tool box to others and a complete contractor’s supply house to others.
Yes, there are those programmers who use PHP like a Leatherman. They need a quick solution to a problem, whip out PHP and fire off a script. Even if it’s a one-off, if it gets the job done then it’s an invaluable tool. However, PHP is also a complex language capable of implementing large-scale projects. PHP is a Leatherman but it is also a complete toolset. It scales with your needs. If you need a pocket knife, that’s what PHP is. If you need a multi-piece toolbox, PHP scales to that. If you need a complete job-site box with everything you need to build sky-scraper applications, PHP is that too. In the case of most installations, this scaling doesn’t require any changes by the user to the language.
It always amuses me when people use a metaphor to describe PHP. Invariably, the metaphor is limited to how they use PHP.
PHP is, in most cases, what you need it to be.
Until next time,