Why Enterprise Web Scalability is Science Fiction. Its five part mission: to explore myths of PHP, to seek out this “Enterprise Scalability”, to boldy go where no web developer would bother going before… *queue music*
- You Use PHP to Troll WHOM?! <——THIS POST. The wherefore of this article and an introduction.
- Even the Pros are Cons. Why PHP’s advantages in enterprise are a form of backhanded compliment.
- Sinking a fleet of FAIL. Reasons for why PHP should not be used in enterprise fail you.
- Time to set my phasers on “kill”. Deconstructing the use of the word of “enterprise” as an adjective modifying “web development.”
- Defensing the indefensible. Don’t bother defending your B.S. it only makes you look more stupid.
(I apologize for the book-like length of this article, Paramount wouldn’t buy the movie rights.)
…
Some people have asked me to respond to this article.
This is what I get for being a self-styled PHP Terrorist. *sigh*
Honestly, I don’t know if I have anything to add beyond the total and complete humiliation the author and his editor received in the 50 replies it received.
I suppose this is what it feels like to put down a lame horse.
[Why me? after the jump]
Why me?
Mostly I think it is because it is easy to push my buttons.
Possibly it may be to distract me from my regularly scheduled beating of Ruby on Rails.
But really it’s because many people do consulting for these Enterprises and can’t actually say what they know is true without getting into trouble with their clients.
More on that last bit later…
What I don’t object to
“There is no single right answer to every problem and PHP is no exception. The dynamic programming language has its strengths and its weaknesses like any other language.”
—CIO Article
That’s how the article begins and that’s about all I agree with. As I have said before:
“Writing software is about making choices.”
—Terry Chay
It is, however, important to note that neither I, nor any commenter, disagreed with this statement.
I agree with the core point he’s trying to make: there is no 1 true language to rule them all. All have their disadvantages and advantages.
—Ivo Jansch commenting on the article
Because you’ll see CIO Magazine’s pathetic defense of their link-baiting article hinges on the assumption that we do.
To demonstrate this, like the above, most of the refutations will come from the commenters themselves.
This article appears to be little more than link baiting.
—Paul (and many others) commenting on the article
Recipes for disaster
The article is done in the pro-con style with the bridge being recipe cookbook bullets of “when to use” and “when not to use” PHP in enterprise.
This approach is completely understandable given, what must be the average intelligence level of a CIO.
Dear CIO,
Since I don’t subscribe to CIO Magazine, I’m not lifting a finger to defend the pre-school level treatment you’re getting with this piece.
Find your own terrorist.
terry
[Continued in Part 2: Even the Pros are Cons.]
This dude said, “First is the issue of global variables…” That was just too stupid. I don’t understand what CIO* is. Is it an online magazine, with editors, and fact checkers? I think not. Here’s my own advice.
When to publish a magazine for CIOs:
1. When you don’t want to edit articles
2. When your projected readership is small
3. When you will accept any random submission
* On their front page, they have an article about “How Do You Spot a Bad CIO?” Maybe he reads CIO.com.
Jeremy expands on his comments.
Hook, line and sinker. Reel ’em in Terry!
Yeah, I could not help responding, but I felt dirty and sullied afterwards.
Hmm the spiderman thing explains why you are able to carry so much camera equipment at one time. This is not possible for ordinary humans 🙂
Classic. Glad you took the time.
Tony Bibbs Iowa’s Sex Offender Registry.
Terry, please! Can you bring it to the point a bit faster?! Others need to work!
(Great article! Very funny and true in EVERY sentence. You’re definitely my favorite PHP Terrorist)
I know this is a work in progress, but I don’t understand this bit
“On the other hand, I challenge you to come up of a comparable list for large-scale, scalable websites written in any other language. Why not? Because it can’t be done. ”
Are you saying it is impossible to come up with a list of other high-scale sites that all use a common programming language other than PHP?
How about Google, eBay, Blogger, LinkedIn, ESPN, iTunes, Weather.com, Orkut all using Java?
How about MySpace, Windows Live, Expedia, and MSN all using C#?
How about Amazon, IMDB using Perl?
That’s just from scanning the top of Alexa.
Scaling a web application really isn’t that hard. Unless you use RoR…
@Michael:
Just glancing at your list. Google using Java is a very big stretch, the only hard and fast rule there is “not PHP” with many apps are in C, Java, and Python (ordered by a dead reckoning on traffic). Orkut is on dotNet, not Java (I assume C#). MySpace is on ASP.NET, not C# (I imagine some optimizations can be done in C# because it is dotNet).
The list generated by commenters only are Yahoo! (general), Facebook (social network), Wikipedia (CMS/database), Digg (forum), Technorati (search vertical)…
So the equivalent Java list would be:
eBay (overall), Hi5 (search, much bigger than LinkedIn, way smaller than Facebook), … etc.
In almost every category you can come up with on a high traffic website, a PHP front-end is found somewhere in the top 3. In some categories, Java, C#, ASP.NET, Perl, Python, C, or Ruby have no presence whatsoever!
The fact that I can generate a better list by being language agnostic has always been my first point: the web problem is not that hard and is language independent.
The fact that you can’t generate an equivalent list in another language is my second point: The null hypothesis should be that PHP can build scalable web architectures is the null hypothesis, and that J2EE or Rails or any other “enterprise web” framework is a scalable archtecture has the burden of proof.
For instance, if we take your Java list, how many of them are built in J2EE? and why didn’t you make a list in Ruby (which pretty much means Rails)?
This leads to the PHP world’s maxim: Languages don’t scale, architectures do.
Not saying that these two frameworks can’t scale (after all, you could always rip out the framework), but I am saying that the burden of proof is on any person making the assertion that a framework like J2EE scales or denying the fact that a language like PHP doesn’t.
See?
Awesome intro Terry. Can I increase the amount of time the hover text is displayed in Safari? I have to hover over it twice because you write so much and I don’t have time to read it all at once.
@AndrewMager
I’m not sure, the time to start up that is the global setting NSInitialToolTipDelay, but I don’t know the setting to keep it up.