NOTE: This is NOT flame bait. I'm generally curious, so please, don't start any wars!
Whenever I read a Ruby blog it goes something like:
I used to be a devout PHP or Perl developer until one day I decided to start using Ruby. Now I love it.
Considering that without Rails, Ruby would be just another obscure dynamic language, it makes me wonder why it seems to be the defacto standard for people starting out with dynamic languages.
Python seems more mature, faster, none of the memory leaking issues with its virtual machine, wider application coverage and a very clean syntax subset.
Ruby, on the other hand, is the opposite of all of these, and is technically more complex due to the meta-programming magic (that the Rails guys seem to love) that can change the langauge so significantly that it might as well be a different language in some cases.
Why then, do people seem to gravitate towards Ruby when Python is right there?
Some guesses:
- They're web developers who've done nothing but PHP and Rails is the new hotness
- Only Ruby programmers feel the need to blog about their shift from PHP/Perl to Ruby
- They like the meta-programming aspects
- There's a hardcore community around it that they want to be a part of