“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.
[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.
—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)
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.
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
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.”
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?
“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.”
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
“Come, Padawan. Your fall will be my ascension to the Sith.”
Admit it, you almost started cussing. 🙂
“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! 🙂
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.)
[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”
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…
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.
There, happy, the minimum required 3 mentions of Terry Chay! 🙂
@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. 😉
Michael finds my secret porn stash!
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.
Morten Fangel blogs this. The check is in the mail. 😉
“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.
funny, i laugh! you are my php hero
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. 🙂
I guess you have more friends on digg than reddit.
But I am still not clear on one thing. Will it scale?
Yeah, I have a response… What?
Actually, what I’m saying is PHP is Evil and Ruby is Good, and Evil will always triumph over Good because Good is dumb.
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.
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.
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. :>