I have a thing for charts. Charts have the ability to convey very complex scenarios in a single line, or a few lines, if there are multiple considerations to be made. But the reason I have an interest in charts is not because of the information they convey, but the information that they don't convey. I find that the information that is left out of a chart is often the most important piece. This is because statistics can be made to say pretty much anything. You've probably heard the line "Lines, Damn Lies and Statistics". When I start hearing things like "60% of people think X" or "20% of people think Y" I tend to switch off. Interestingly enough, I do the same thing, though. Probably because that's the easiest way to make a point. It sounds scientific. It sounds like you've done your research, even if you really haven't.
Three years ago I saw this at a conference I was speaking at. It was a conference that was supposedly about working in mixed environments where you would have .NET applications talking to C applications and Java applications talking to Ruby applications and PHP talking to, well, nobody, aparently. During one of the keynotes the presenter had a chart of different programming languages placed based upon their feature set. They had C, Java, Ruby, Python, etc. But where was PHP? PHP powers 30 million websites and is number 3 on the TIOBE index, so why was it not there? They had the languages at position 1, 2, 4, 5, 6, 7, 8 and 11 (which the speaker clearly thought should be at number 1) but not the programming language at number 3.
After the keynote I was introduced the person who created the chart by a customer of ours. I was introduced as "This is Kevin Schroeder, PHP Consultant for Zend Technologies." and the keynote speaker, presumably thinking he was funny, stated "Oh, I'm so sorry."
That exchange has often gone through my mind as I run into people, articles, blog postings and such that demonstrate this kind of attitude. In fact, do an image search on Google on programming language charts and on the ones that are not scientific ("scientific" meaning that they are based on actual numbers), and you will often find that PHP is simply omitted. It is an elephant in the room. Given our mascot, appropriate, do you not think?
From a programming languages perspective (not talking hardware, networking, web server or operating system) I think I can argue that PHP is responsible for the web we have today. Is there ugly PHP code out there? Yes. A lot of it. But what PHP basically did was made web programming available to the masses.
That's it! I think I've figured it out. Just now. I think I now know why PHP is either scorned or completely omitted when people talk on comparative programming languages. PHP is the programming language of the unwashed masses. PHP is not the language of the "elite". PHP is like spaghetti. You throw it at the wall and it sticks. It was not born out of a computer science department. It was not born out of a design pattern. It is impure. It is unwashed. It is unsophisticated.
This explains why many people try ignoring it. They, having either been "properly" educated or having "seen the light", cannot force themselves to look upon what they see as the putrid stinking mass of PHP. It is like the politician who thinks they need to tame the masses. It is like the business leader who thinks they deserve ridiculous pay. It is like the actor who thinks they have anything resembling a logical thought in resounding cavern they call a brain.
PHP is like the market place. You go there and it is noisy and rambunctious. But it is also where the people meet. If you need something for dinner, as much as the politician would like to think they know best (like how much salt should be added to a restaurant dish), you go to the market place, not the politician. Because they have what you need. It might not be the highest quality. It might not have the nicest shine. But you know what? It does what it is supposed to do.
To be fair; I do think that the PHP community initially missed how important developing for a framework was. But you know what? Microsoft missed the Internet. And you know what? Microsoft turned around and embraced it (for good, bad or in between, I will let you decide) virtually overnight. PHP developers looked at some of the new technology coming out and said "you know, there are some good ideas there." We now have half a dozen strong frameworks available for PHP each with their own strengths and weaknesses.
More could be written about the subject, and I'm sure that more will be. But after thinking about it, Elitism is a strong candidate for the explanation the disparagement of PHP. PHP is the language of the unwashed, uneducated masses. And any type of Elite has difficulty comprehending how the masses survive without their help. But yet we do. Are things perfect? No. But we have no illusions of Utopia or programming Nirvana. Appropriately, the word utopia, interpretted, means, that no place is perfect.
I think that quoting Sylvester Stallone, or rather Sylvester Stallone portraying John Spartan in Demolition man, is apt when talking about programming languages. "You (elitists), get a little dirty. You (PHP), a lot cleaner. And somewhere in the middle, I don't know, you'll figure it out." PHP has gotten cleaner. MUCH cleaner. Can the others stand to get a little dirty?
One Thought to “The ElePHPant in the room”
I’ve been developing with PHP for the better part of 10 years now (6 professionally) and I’ve stumbled across the same kind of attitude whenever I tell anyone what I do for a living. “Why PHP?”
It is true that PHP can be a dirty language, heavily misused, but then again so can any other programming language when first discovered by a new programmer. I know my first C projects weren’t really easy on the eye! I have to give it to you; every new version of PHP just keeps getting better and better and whenever anyone asks me what language they should pick up for learning how to program, the answer is clear; “PHP is easily approachable, has a mind blowing feature set and honestly, with all the examples out there, you’ll advance lightning fast.”