Why PHP triumphs over Ruby
“I’m really low on my scatological count here…I’m sorry I didn’t crack enough jokes or use enough [cuss words], but I’m sure people will forgive me. They can just attend one of my talks and get their cuss quota for the year. And if not, coding these web apps themselves involves a lot of swearing—a lot of blood, sweat and swear.”
—me on Pro PHP Podcast
I’m not posting my talk yet because I have to give it again at ZendCon. So here is a bit of a teaser.
College Park, Atlanta, Georgia
Leica M8, Cosina-Voigtländer NOKTON 35mm F1.2 Aspherical
1/45sec, iso 320, 35mm (47mm)
The Internet is an Ogre and this architecture is really quite simple.
[Do not hit the jump if you are easily offended. I really mean it!]
[ego] Pump and dump
Since, no doubt, many of you reading this article are first time ROR acolytes readers brought here as part of my master plan when I beg get all my friends to link this, you might be wondering what gives me the right to piss all over your religion.
So in the interest of self-aggrandizement trackback links, I thought I’d point out some reviews of my latest Ruby bash insightful presentation on Internet Architecture.
“Terry Chay did such a wonderful job with his, “Finding Art in the Software Architecture” talk it really isn’t funny”
—Patrick Reilly, Senior Developer at OmniTI and president of LHB“Terry Chay of Tagged stole the show with his talk.”
—Chris Shiflett, PHP and web security author, lecturer and drummer for the Foo Fighters“[Terry Chay] is not a talker to miss.”
—Chris Jones, Linux Engineer at Oracle and coiner of the term “OPAL”“The highlight of the day came next with Terry Chay’s new talk… look forward to watching him present this again.”
—Ben Ramsey, Software Architect at Schematic and not a person to get lost with in Atlanta“[Terry Chay] really does have something to say.”
—Cal Evans, Editor of Zend Developer Zone and guy who thinks this blog is all a character and I’m not really like this in real life (yeah, keep telling yourself that, Cal)“… I laughed my ass off.”
—Ed Finkler, CERIAS at Purdue University and someone who is obviously constipated right now“…but something will happen one day and I’ll go, ‘oh yes! Terry mentioned that.”
—Andrew Collington, Web Developer at the University of Sussex and a guy I conned into coming to see my talk during one of the breaks.“Terry Chay”
—jmoon. Not too sure who the hell he is, but he said my name.
Oh shit. Tokyo is so fucked!
“Heh, heh... what's happened to me? I must be dreaming. I feel like I can take out the world.”
—Tetsuo, Akira (1998)
My friends
Blake has started to leave little landmines for me: every time a non-engineer gets intimidated by all the web geeks around at Lunch 2.0, he helpfully suggests that they ask two questions to “fit in”:
“What do you think about Ruby?”
“Will it scale?
I know the fucker is laughing his ass off looking forward to the day one of them asks me those questions and I rip their heads off and shi… Okay, I’ll stop there.
Though now that I’ve wised up to it, he’s probably going to suggest these people ask me why Canon is better than Nikon.
He’s a true friend.
So it comes as no surprise that at least two of my friends told me about this article on why CDBaby gave up migrating to Ruby and went back to PHP.
Swearing by osmosis
“This dude sounds a little like you. Not that he just made similar choices, but his reasoning is the same. Sometimes when reasoning is similar without two people comparing notes, there is some truth underlying the two similar solutions.”
—one of my friends comments on the CDBaby article
After I got the above message, I went back and read the article. I’m still trying to figure out how this guy, Derek, sounds like me at all.
(Heck, he doesn’t even look like me. We’re polar opposites. I have a full head of hair cut short, and he’s like bald with a pony tail. Oh yes, I’m not above a good ad hominem now and again.
)
Most notably, he only dropped the F-bomb once the entire article! Whereas Shawn Lauriat had to get a special dispensation from his publisher just to put me in the acknowledgments of his new book, Advanced Ajax. (Clickie link to buyie.)
I sweat swear. It’s in my blood. Roll with me long enough and you will too.
Fear the swear
“I sense great fear in you, Skywalker. You have hate, you have anger, but you don’t use them.”
—Count Dooku shows why Anakin Skywalker is a big pussy
What gets my blood in a boil is reading all the comments to Derek’s post as every Ruby on Rails padawan gang up on him.
I sense anger in them, but they don’t use it.
It does call into question what how much actual coding they’ve done. Because really, I don’t know many developers who work on highly scaled sites that haven’t angrily cussed like a sailor when the shit hits the fan. Heck, even my polar opposite, Derek of CDBaby, had to drop the F-bomb once.
Which reminds me…
I was wrong
I admit it, I was wrong.
I used to tell people that Ruby is where Java developers went to lick their wounds after getting schooled in the first boom by an ugly POS language like PHP. They had dreams of Ruby on Rails rising up like a phoenix from the ashes of J2EE and teaching these (often) drunk PHP developers that Web Development can be just like the Ivory Tower that taught them Java (or Ruby)…and justify their overpriced salaries.
College Park, Atlanta, Georgia
Leica M8, Cosina-Voigtländer NOKTON 35mm F1.2 Aspherical
Aperture (monochrome mixer)
1/90sec, iso 320, 35mm (47mm)
Oh yes, I’m on to you. If Derek had written this article two months earlier there would have been nary a peep out of you.
Why?
Because I was wrong. The J2EE developers are still around; We’ve just added a bunch of high school “entrepreneurs” to the mix. And they’re finally back from summer camp to lecture us on how to run a “real-world” website.
But our lord and savior DHH says…
Terry Chay…the guy who killed Ruby
—Paul Reinheimmer, php|architect
College Park, Atlanta, Georgia
Leica M8, Cosina-Voigtländer NOKTON 35mm F1.2 Aspherical
1/40sec, iso 320, 35mm (47mm)
This is Paul Reinheimer drinking four cocktails at once. People like him are in ur language, coding ur endjinn.
I sense great fear in you.
Oh, come now, you’re going to claim that you aren’t in school right now? Don’t make me bring up that time when your mom found your stash of DHH flickr images under your bed.
Why I wish summer never ended
I’ve been sitting on a Ruby smackdown for the three months, where I was going to show you this:
People have been asking me about this followup, and I kept joking, “F—. I’ve been sick and lazy. All I know is I better blog it before all the Ruby kids get back from summer camp.”
And then…
It’s times like these that I wish there was an Endless Summer. That way I don’t have to keep breaking out the can of whup-ass.
Looking for a smackdown
Really? You’re expecting substance in this article? Obviously, you’ve never read this blog before. p0wnd!
In truth, as a policy, I’d never anally rape a poor defenseless kitty, so I won’t rip on you RORCATS1 directly, especially since you’ve been AFK all summer. Instead, I’ll rip on a PHP developer who brings up a point about PHP I’m sure you may have noticed. Perhaps you’ll read it and realize “Why PHP triumphs over Ruby”:
“I've come to discover there are very few people in the world who can write good PHP code. Is that their fault or the languages?”
—Jeremy Johnstone, the dude’s car yodels, how fucked up is that?
The answer
“Considering how much PHP powers the internet, I'd say Evil triumphs over Good because Good is Stupid.”
—Me
In other words, there is no such thing as “good” PHP code.
(I’ve certainly not seen it. You have? Are you sure you’re talking about the same language as me?)
Huh? I don’t understand.
Brian Moon of DealNews puts it, You have to be really smart to code PHP.
I put it more simply:
“Rails is like a rounded rectangle and PHP is like a ball of nails.”
—self quote
And here, a quote/teaser from my talk:
“When I say that PHP is a ball of nails, basically, PHP is just this piece of shit that you just put together—put all the parts together—and you throw it against the wall and it fucking sticks.”
—Me, The Internet is an Ogre: Finding Art in the Software Architecture
“I’m going to make you pay for what you’ve donewritten.”
“Come, Padawan. Your fall will be my ascension to the Sith.”
Admit it, you almost started cussing.
Hey, DHH!
“Twisted by the dark side, young RoRdeveloper has become. The boy you trained, gone he is... consumed by Darth Vader.”
C’mon (back) over to the Dark Side. We’re the only programming religion that sacrifices our own for a cheap joke. Trust me, when you try scaling your web apps, it’s either this or alcoholism:
And for those of you who still don’t get this article, I have these two words for you… (come to my talk and find out what they really are).
Come see me talk at ZendCon! And if you’re too cheap (I totally relate), then sign up for the free H2.O (Happy Hour 2.0 at ZendCon) and say hi!
Postscript
Thanks to everyone who attended my talk at PHP|Works. (The check is in the mail.)
I’d also like to thank the Academy, and, of course, John Dvorak.
And, if I didn’t drop the F-bomb enough this time, please click this link. (Don’t worry, it’s not a goatse. There are some lines I won’t cross—yellow ones, for instance.)
Technorati Tags: PHP, internet architecture, software architecture, blood, sweat, swear, alcohol, Ruby, Ruby on Rails, Star Wars, Lunch 2.0, ZendCon, porn stash, CD Baby, LOLCATS, RORCATS, David Heinemeier Hansson, DHH, John Dvorak, David Kellogg, Shawn Lauriat, Patrick Reilly, Chris Shiflett, Chris Jones, Ben Ramsey, Cal Evans, Ed Finkler, Andrew Collington, jmoon, Jeremy Johnstone, Dereck Sivers, Sean Coates, Sebastian Bergmann



September 24th, 2007 at 2:36 am
You’re a true american hero. I think it was “But our lord and savior DHH says…” that made my day.
Wednseday was a good day for Lunch 2.0, I planted a few gems in the minds of the people
Everyone else networks & I spend all my time being cruel…
September 24th, 2007 at 5:26 am
Terry I expected you among all to make it even clearer why Derek isn’t like you. All that Derek said is that he doesn’t like frameworks and without a framework he might as well stick with PHP, since all his other apps were already using PHP. He did not really say anything about Ruby either.
It just sounds like he is someone that prefers reinventing the wheel for 2 months only to then find out that every feature he wants to add takes a week instead of adding a call to a library/framework he is using.
September 24th, 2007 at 6:41 am
http://devzone.zend.com/article/2563-ZendCon-Update
There, happy, the minimum required 3 mentions of Terry Chay!
=C=
September 24th, 2007 at 6:44 am
[...] Terry Chay - “Why PHP triumphs over Ruby” [...]
September 24th, 2007 at 7:26 am
@Blake: Don’t you mean I’m a Real Man of Genius? They changed it after 9/11.
@Lukas: Stay tuned for my actual Ruby bash is another article. It delves into why frameworks are my old nemesis… Oh yeah, and it has girls kissing each other.
September 24th, 2007 at 7:27 am
Michael finds my secret porn stash!
September 24th, 2007 at 7:31 am
Cal Evans is so offended by this post he replaces my name with Joel Splotsky.
Damn! The irony. Joel on Software’s post on rewrites was quoted no less than three times in the CDBaby article comments.
Another funny thing is the article I was supposed to write actually talks about Django and Python. More proof that I wrote things out of order.
September 24th, 2007 at 8:50 am
[...] [Do not hit the jump if you are easily offended. I really mean it!] [...]
September 24th, 2007 at 10:40 am
[...] - “Is there anything Rails can do that PHP cannot do? *No.*” * Terry Chay - “Why PHP triumphs over Ruby” * Jeff Moore - “Ruby versus PHP or There and Back [...]
September 24th, 2007 at 11:49 am
Morten Fangel blogs this. The check is in the mail.
September 24th, 2007 at 12:03 pm
“All that Derek said is that he doesn’t like frameworks and without a framework he might as well stick with PHP, since all his other apps were already using PHP.”
That’s not what I took from Derek’s post. He seemed to like Rails a lot, but it wasn’t a great match for what he needed to do. He praises Rails, though, and states that he may use it in the future. I can’t see how that would indicate dislike for frameworks in general.
September 24th, 2007 at 2:16 pm
funny, i laugh! you are my php hero
September 24th, 2007 at 5:11 pm
I only had to get permission to put you in the book acknowledgements, since I don’t think I could possibly mention you anywhere without at least one bit of profanity.
September 25th, 2007 at 11:55 am
[...] (Note, if you are a conference attendee, you don’t have to RSVP, but check out my talk there) [...]
September 25th, 2007 at 7:35 pm
I guess you have more friends on digg than reddit.
But I am still not clear on one thing. Will it scale?
September 27th, 2007 at 10:30 am
[...] new release http://hades.phparch.com/hermes/public/viewnews/?id=3507 Why PHP Trounces Ruby http://terrychay.com/blog/article/php-ruby-evil-good.shtml, http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html Why should I [...]
September 27th, 2007 at 8:42 pm
[...] The Woodwork You tell that other boy, not to touch the woodwork… « Why PHP triumphs over Ruby [...]
September 29th, 2007 at 6:33 pm
[...] http://terrychay.com/blog/article/php-ruby-evil-good.shtml [...]
September 30th, 2007 at 4:57 pm
Yeah, I have a response… What?
October 1st, 2007 at 4:11 am
[...] The Woodwork » Blog Archive » Why PHP triumphs over Ruby [...]
October 2nd, 2007 at 7:58 am
[...] As a sensitive new-age guy, I can appreciate the subjective love people have for Rails. Since Rails is an Ogre, and an Ogre is made of onions, I pealed this onion to see its insides. Here is my minute-by-minute [...]
October 2nd, 2007 at 6:18 pm
[...] met Christen from thumbble, Terry Chay (Lunch 2.0 organizer and PHP hero), [...]
October 3rd, 2007 at 8:02 am
Actually, what I’m saying is PHP is Evil and Ruby is Good, and Evil will always triumph over Good because Good is dumb.
October 3rd, 2007 at 7:40 pm
[...] http://terrychay.com/blog/article/php-ruby-evil-good.shtml [...]
October 8th, 2007 at 5:04 pm
[...] earlier, I’ll be giving my talk on “The Internet is an Ogre” tomorrow at 10 AM. It’s a fun talk so you better go see it! (Besides, if everyone goes to this, I’ll have satisfied my life-long [...]
October 16th, 2007 at 7:44 am
[...] Your websites: made lovingly with a lot of blood, sweat, and swear. [...]
November 12th, 2007 at 4:13 pm
Hear, hear. I love PHP. Although it has its problems, moving to another programming language is not the solution. PHP5 has really added a lot to the power of PHP, especially on the OOP side of things.
November 26th, 2007 at 7:03 pm
Lol at the photograph! Such a classic. I despise how people compare Rails to PHP. Whereas Rails is a framework, and PHP is a language. How about we track back 12 years to when Ruby was first introduced. Nobody wanted to know. PHP is really such a superior language, especially with the introduction of OOP in PHP 5, and namespaces to come! Ruby is just for those individuals who think that Ruby on Rails will miraciously turn their code into something out of this world. Wrong! PHP has more techniques at your fingertips than Ruby is ever likely to possess.
January 2nd, 2008 at 5:37 am
[...] this years resolution is to be a little bit more active, blog-or-otherwise. Here’s looking at Terry. Tags: flamewar, PHP, [...]
January 2nd, 2008 at 8:55 pm
[...] So this years resolution is to be a little bit more active, blog-or-otherwise. Here’s looking at Terry. [...]
January 15th, 2008 at 8:02 am
[...] So this years resolution is to be a little bit more active, blog-or-otherwise. Here’s looking at Terry. [...]
January 21st, 2008 at 3:57 pm
[...] is a hacky piece of shit that gets the job done and somehow that suits me just [...]
January 22nd, 2008 at 12:27 am
[...] how did K— know me? Was it because of my mad awesome coding skillz? my reality-distorting presentations? my most-viewed photography? my burgeoning status as a SF geek-social butterfly? Or, perhaps—and [...]
January 26th, 2008 at 6:55 pm
[...] Well, I got an invite to Zivity Beta the other day, so I figured I should track their blog where I just wanted to link this great article from Forbes when I ran across this… Okay, when your blog is in Rails, you’ve gone too far… [...]
January 30th, 2008 at 11:41 am
[...] the worst idea in the history of software development—it doesn’t matter whether it is rewriting PHP apps in Ruby, or Perl apps in PHP, or Java apps in PHP. Heck, I’m not even a fan of rewriting PHP apps in [...]
February 4th, 2008 at 9:13 pm
[...] developers. Here is another quoteable of mine: [Some web framework] is like a rounded rectangle; PHP is like a ball of nails. … When I say that PHP is a ball of nails, basically, I mean that PHP is just that: a piece of [...]
February 8th, 2008 at 3:07 pm
[...] developers. Here is another quoteable of mine: [Some web framework] is like a rounded rectangle; PHP is like a ball of nails. … When I say that PHP is a ball of nails, basically, I mean that PHP is just that: a piece of [...]
February 18th, 2008 at 9:05 pm
[...] you must really, really suck. Be sure to shave your head and buy a MacBook on your way down the enlightened path that is Rails. Hmm, Ruby was making a comeback, [...]
March 9th, 2008 at 3:10 am
[...] Is it any surprise that prototype is both heavily adopted and influenced by Ruby on Rails developers? What is it about Rails devottees that they wish to abstract themselves from the very parts of their systems that they know will be their bottlenecks? [...]
April 11th, 2008 at 4:28 am
[...] his latest post Why PHP triumphs over Ruby is the triumphant return of his much beloved ruby-bashing posts which also includes such classics [...]