What happened to Ruby? And why PHP is KING of the Web.

In 2006 I created killerphp.com because I wanted to make it easy for web designers to learn PHP. I thought PHP was THE predominate web programming language and I felt every web designer should include PHP as one of their core coding skills:
- html
- css
- php
- javascript.
Then Ruby came along … for a short while.
What happened to Ruby and Ruby on Rails?
Once upon a time Ruby was the best thing since sliced bread … it was the language to replace all languages and everything else just sucked! Funny, that seems like ages ago.
Today though, the picture is different; Ruby’s shine has since lost its’ luster and the Rails train has practically fallen off the tracks – now there are other web frameworks in the Ruby world that have replaced Rails.
Addendum: Merb and Rails are merging … Rails hasn’t ‘gone off the tracks’. My bad.
So what the heck happened … what stopped the Ruby train ride?
What stopped Ruby from spreading beyond being a niche language is the EXACT same thing that stopped me from jumping on board back in 2006-2007: Ruby’s heart was broken.
- Yes, Ruby has a great syntax.
- Yes it is a lot of fun to program with.
- Yes it is pure object orientation, to the max!
But, there were a lot of holes in Ruby … crucial libraries and functionality that PHP’rs took for granted, the Ruby guys could only dream of … or they could patch it up with some C code. Ouch!
Beyond that, there is Ruby’s dirty little secret: crash-o-matic. Yep, Ruby based web apps used to crash a lot! Web server integration was not stable and was a pain in the ass.
Reference: Twitter Crashing
… To be fair though, I hear that aspect has improved.

What does this have to do with PHP?
As I stated years ago in a blog post about Ruby; PHP’s strengths are found in Ruby’s weaknesses. Yes some aspects of PHP are not as (shall we say) pretty as Ruby. But like good looking people who are jerks, who cares how beautiful they look if their personality sucks.
… OK, maybe you could hang with them for just a short time! But whatever you do, don’t marry them Rob!
Stefan Mischook
www.killerphp.com


Yeah, Ruby is crappy! It’s just like a screwdriver. Remember when contractors used to carry those around in their tool belts, thinking they were so cool? Everyone knows a hammer is a far superior tool! I’m mean come on, when you hit yourself with a hammer, sure – it hurts, but there’s rarely any blood! Slip with a screwdriver and hit your thumb and “crash-o-matic” – you’re scrambling for a bandaid.
Ok, so maybe the hammer/screwdriver analogy is a bit too far fetched. Instead, let’s just say that Ruby is like testing. For awhile there, everyone was saying how great TDD was, but now people have realized that it’s time to get to work and quite fooling around with all those pesky tests. Pure logic (and we are all programmers, right) dictates that writing code = more lines of code = more time spent on the same functionality. In fact, I’ll bet the only developers who still write tests think that if you drop a heavy hammer and a light screwdriver from a roof at the same time, they would hit the ground at the same time when it’s obvious that the heavier object would drop faster.
To be honest, you could also replace “PHP” with “Windows” and “Ruby” with “Linux”. Linux used to seem so cool, but everyone has gone back to windows. Everyone know Linux isn’t really stable and certainly isn’t ready for the desktop. Yeah, free sounds cool, but come on, we all know you get what you pay for.
If you’re not able to pick up on it yet, I’m being completely facetious (and if you’re not familiar with that work, it means I’m kidding!!!!). Maybe the people around you have gone back to PHP (or not using tests, or developing on winblows), but that doesn’t mean the rest of the world is following your lead. While I’m sure you’re a wonderful programmer and we can all learn a lot from you, your opinion is being presented as fact – but it is indeed just an opinion. It does not reflect my experience at all – in fact, most shops I come into contact (ours included) use PHP because of legacy reasons – most have either expanded to using other languages, or have abandoned PHP altogether.
One more point – as much as you think that PHP is “king” of the web, Java is far more popular, has far more libraries, and can do things that PHP “guys could only dream of “. Does that make Java better than PHP? By your standards, it does.
It is reasonable to assume that with certain things, Ruby is superior to PHP. And I am sure with other things, Python is superior to Ruby … and it goes on.
The above blog post aside, my belief in PHP goes way beyond the core language; I constantly blend business considerations along with nerd considerations.
… I think that perspective is lost on most programmers.
For example, I think PHP is much easier for web designers to learn than Ruby or Python and I think that the PHP community has a few key products out there that are supremely useful to web designers who want to take their skills/solutions to the next level. I am talking about:
- wordpress
- drupal
etc ..
So I look at PHP as being a stepping stone, a compromise for those who want to implement some dynamic capabilities into their sites BUT who may not want to become application developers. That said, with MVC frameworks like Zend, CakePHP etc … PHP also gives users the ability to write sophisticated applications.
I hope that makes sense.
Stefan
Sorry Sir, but you are slandering like a blabbermouth.
There isn’t any „crash-o-matic” caused by Ruby or Rails themselves. You’re quoting Twitter crashes – ridiculous, really. It’s so obvious that I don’t want to comment on this any more – but I can tell you for sure that you should not blame neither Rails nor Ruby solely for this.
„But, there were a lot of holes in Ruby”
To go with your polemics: You mean holes on sense of security holes of PHP?
„Crucial libraries and functionality that PHP’rs took for granted, the Ruby guys could only dream of”
Ah, missing features. Bloated core & friends.
Please just compare the functionality and quality(!) provided by RubyGems and Rails plugins to your beloved PHP PEAR… I just don’t need to say anymore, do I?
„Or they could patch it up with some C code. Ouch!”
Ouch. For ignoring PECL and that facts, that 1.) writing C code is sometimes annoying but not indictable and 2.) the PHP guys do more than the Ruby guys
Last but not least… even if Rails is the killer app of Ruby – you shouldn’t compare them with PHP in a single sentence.
Compare Typo3, Drupal, Symfony (ha-ha) with some Rails applications instead and have a separate look at PHP and Ruby. And last but not least – go to GitHub and browse some Rails related code (including the various plugins). You’ll see that high quality coding with evolved patterns (finite state machines, nested sets) is made so easy due to a great community and the availablity of great plugins. As easy as PHP enables someones „webdesigner nephews“” to blow up the web with their PHP crap.
PHP wil l (unfortunately) never die. Because it attracts the kind of people who are unable to understand anything even slightly more demanding than “echo $_REQUEST['message']“…
This kind of people will drive PHP, write the terrible PHP-documentation and their laughable “frameworks” for ever.
I’m a Java programmer and I say good riddance
I’ve always known the thing had nothing behind it, and all the hype and predictions about it becoming the #1 platform and dethroning Java would come to nothing.
Now Scala, on the other hand, now THAT’S a rocking language (on the JVM of course)