Many years ago, both Ruby and Python were brand new languages, both of which I looked in to. In the fall of 2000, I wrote a paper covering the aspect of ruby and how I felt it was superior to other contemporary languages. I couple years ago, I dabbled with the Ruby on Rails book that was available in PDF. I like to imagine that I’m not a complete newb, but it wasn’t until a couple weeks ago that I actually committed myself 110% to writing a RoR web app.
For what it’s worth, I grabbed rails 3.0 on top of ruby 1.8, my platforms are MacOSX.6 on my laptop and FreeBSD8.2 on the server. I installed rails using the FreeBSD ports system. I’ve mostly been using the mac as an ssh client and web browser, the actual coding is done on the fbsd server (using vim).
Vim does not auto-indent ruby. The rails tutorials talk about scaffolds, then claim that ‘real’ rails developers don’t use them. There is no real documentation on the change, just that “this works, but you don’t want to do this”. Object longevity is not well defined; sometimes I change objects and methods and the running ‘rails console’ instance catches it, other times it does not. I did a “portmanager -u -bu -l” on my server, tried to start the rails server again and got an error message about not finding certain package versions. Ok, I can see requiring a certain version for production, but I’m in dev mode and have been unable to find ANY indication on how to ‘upgrade’ gem versions… Is there any way to say “rake 0.9.2 OR BETTER”? because I have 0.9.2.2 and it fails, because it wants “rake 0.9.2”. I’ve done tons of enterprise, so I get why you don’t want blind upgrades, but I cannot find any path to upgrade…
There are a lot of very nice things about ruby/rails. MVC off the bat is a nice thing. Tons of plugins/addons (each with it’s own pros/cons… yet to find a canonical mapping). Some very nice html helpers. I can usually find a fix from the huge body of support request/answer documentation.
I do like ruby as a language, and I think rails is a good thing… I don’t think they are adequately equipped for pushing into the unknown. I will continue with ruby/rails until it becomes obvious that it’d be far better to not only re-write, but write the migration software. We’ll see. 🙂