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.

A simple architecture
A simple architecture
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. :-D

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. :-D )

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.

Life is too short for Java
Life is too short for Java
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.


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

Quad core
Quad Core
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:

Peak Ruby… bitches!
I post about Ruby in May, and look what happens!

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…

Damn, they got back from summer camp
This is the punishment I get for not posting before Labor Day. A great taunt ruined.

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!

I pwnd Ruby

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.”

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:

Marco, This is what you get for trying to pull a Big Brother Bill Gates

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! :-)


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.)

1 Since “I draw the line at yellow,” I’ll pre-empt Patrick and say that only an asian would have confounded LOLCATS into RORCATS.

[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[/tags]

44 thoughts on “Why PHP triumphs over Ruby

  1. Blake Commagere

    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…

  2. Lukas

    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.

  3. Pingback: developercast.com » O’Reilly Ruby Blog: 7 reasons I switched back to PHP after 2 years on Rails

  4. tychay Post author

    @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. ;-)

  5. Pingback: Code a Day » Terry Chay: Why PHP triumphs over Ruby

  6. Pingback: PHPRomania Blog » Blog Archive » PHP vs Ruby

  7. Ed Finkler

    “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.

  8. Pingback: Lunch 2.0 » H2.0: Lunch 2.0 Happy Hour at ZendCon at SFO

  9. Pingback: PHP Podcasts » Pro::PHP Newscast (Sep 27, 2007)

  10. Pingback: The Woodwork » Blog Archive » Battle wounds

  11. Pingback: GSIY … Ruby-Rails Portal

  12. Pingback: All Night Coder - Today’s Top Blog Posts on Programming - Powered by SocialRank

  13. Pingback: » Why I switched to Rails and back to PHP in one day

  14. Pingback: PavingWays - web applications on (mobile) devices : Lunch 2.0 at FamilyOven 09/25/2007

  15. Pingback: GSIY … Ruby-Rails Portal

  16. Pingback: The Woodwork » Blog Archive » At ZendCon tomorrow - see my talk, drink their drink

  17. Pingback: The Woodwork » Blog Archive » A religious experience

  18. Adam

    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.

  19. Adam

    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.

  20. Pingback: SitePoint Blogs » Rakish resolution - more flame

  21. Pingback: Blog Surfer » New design for friendlybit coming up

  22. Pingback: CSS Tip: Positioning photos with floats

  23. Pingback: The Woodwork » Blog Archive » OOPs! I (recycled my talk) again!

  24. Pingback: The Woodwork » Blog Archive » Being popular

  25. Pingback: The Woodwork » Blog Archive » Must…resist…urge…

  26. Pingback: The Woodwork » Blog Archive » The best blogging system ever

  27. Pingback: The Woodwork » Blog Archive » You Use PHP to Troll WHOM?!

  28. Pingback: The Woodwork » Blog Archive » Sinking a Fleet of Fail (PHP and Enterprise Scalability Part 3/5)

  29. Pingback: The Woodwork » Blog Archive » I found a use for Ruby

  30. Pingback: The Woodwork » Blog Archive » jQuestion

  31. Pingback: Seven Goslings » The real reason for Ruby incline according to Terry Chay

  32. Pingback: The Woodwork » Blog Archive » Egos and assholes

  33. Pingback: What's wrong the __autoload()? - Page 4 | keyongtech

  34. mark

    The worst part is that you equate Ruby WWW with RoR.

    That shows that you did not understand Ruby as a philosophy. For example, which is a hint – you can use Ruby without DHH.

    But I don’t think you will ever discover this. :>

  35. Pingback: The Register: Microsoft arms half-wit developers with PHP handgun | Webs Developer

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>