I have a confession to make. I've been a Python (django+flask) guy for years, but I just recently jumped ship to Ruby and couldn't be happier. Within the last 60 days I've deployed 2 production websites, rebuilt my own personal blog, and am currently busting ass on my own project's API -- all of it in Rails. I still like Python, but I'm a HUGE fan of Ruby now. It's so much fun to write.
I'm excited to be a part of such an active community as well. It seems like every week there is an exciting event, release, or new project being announced.
I had exactly the same experience. Long time Python developer, and then got into Rails and haven't looked back. Really love the readability of the language.
Anecdotally, I've gone in the exact opposite direction. I had been doing Ruby/Rails for 3 years up until about December of last year and switched to Python. I can't say I dislike Ruby for any reason, however, I just have no desire to write software with it anymore.
I am in the same boat as gp. rails has a lot of nice time savers, RVM is better than virtualenv, I like that in ruby you have more than one way to do things so you can write the way you feel most natural, ruby is more fun to program in for me(not a huge fan of the indentation now because I have had to reformat scripts to work correctly one too many times now). packaging in python is what pushed me over the edge though. It never felt like I could get anything installed nicely because the "best practice" for the packing managers were changing daily. rubygems is much nicer in that respect. I still like python but in the future I am going with ruby unless I have to use something else.
I used rbenv for a while but what killed it for me was the huge startup lag it adds to every invocation of ruby or any other bin installed via a gem. I was seeing delays of 4-5 sec which disappeared when I switched to RVM. The universe of tools and integration is also far better in RVM land (though this may have changed more recently).
I had this problem right when I started using rbenv. Eventually with some help I realized that just starting bash was slightly slow, and that all the various bash scripts that rbenv runs were compounding this for a 2+ second startup.
In my case, everything was fixed by moving the the things that only need to be run in login shells out of my ~/.bashrc (where they should have been in the first place).
$ time /home/lloeki/.rbenv/versions/1.9.3-p286/bin/ruby -e 'exit'
real 0m0.012s
user 0m0.007s
sys 0m0.003s
$ rbenv global
1.9.3-p286
$ time /home/lloeki/.rbenv/shims/ruby -e 'exit'
real 0m0.055s
user 0m0.027s
sys 0m0.007s
Hardly something to cry foul for. Your first significant require will blow that time by an order of magnitude.
And hardly surprising either since rbenv the alias calls rbenv the command, which sets a few env vars then calls rbenv-$1 (probably $1==exec), which calls rbenv-hooks $1 (probably a noop by default) then $1 + args. rbenv is seriously thin.
> huge startup lag it adds to every invocation of ruby or any other bin installed via a gem
Sounds more like bundler (maybe automatically started by ohmyzsh when just typing 'ruby' where you have a Gemfile):
$ time bundle exec ruby -e 'exit'
real 0m0.570s
user 0m0.480s
sys 0m0.057s
or as mentioned, someone put too much stuff in his bashrc or something.
# Source a .rvmrc file in a directory after changing to it, if it exists. To
# disable this feature, set rvm_project_rvmrc=0 in /etc/rvmrc or $HOME/.rvmrc
IMHO rvm is completely overkill and suffers from overengineering.
That's actually a really, really long comment. A blog post is definitely due about it, because I feel like a hacker again. Before I was in this fog of not enjoying what I was doing and always being up against some mountain/molehill problem.
I'm happy for you. Could you be more specific about how ruby (as a language) and rails (as a framework) are more fun to you coming from python and then django/flask respectively? Is it the language you like more? Or the rails community?
I'm excited to be a part of such an active community as well. It seems like every week there is an exciting event, release, or new project being announced.
Looking forward to building this locally, hopefully with these fast require patches applied: http://bugs.ruby-lang.org/issues/7158
self.woohoo!