As it stands now, I’m a Java and C# developer. The more and more I look at Ruby on Rails, the more I really want to learn it.
What have you found to be the best route to learn RoR? Would it be easier to develop on Windows, or should I just run a virtual machine with Linux?
Is there an IDE that can match the robustness of Visual Studio? Any programs to develop that give a good overhead of what to do? Any good books?
Seriously, any tips/tricks/rants would be awesome.
56 Answers
I’ve been moving from C# in my professional career to looking at Ruby and RoR in my personal life, and I’ve found linux to be slightly more appealing personally for development. Particularly now that I’ve started using git, the implementation is cleaner on linux.
Currently I’m dual booting and getting closer to running Ubuntu full time. I’m using gedit with various plugins for the development environment. And as of late 2010, I’m making the push to use Vim for development, even over Textmate on OS X.
A large amount of the Rails developers are using (gasp) Macs, which has actually got me thinking in that direction.
Although I haven’t tried it, Ruby in Steel gives you a Ruby IDE inside the Visual Studio world, and IronRuby is the .NET flavor of Ruby, if you’re interested.
As far as books are concerned, the Programming Ruby (also known as the Pickaxe) book from the Pragmatic Programmers is the de-facto for learning Ruby. I bit the bullet and purchased that book and Agile Web Development with Rails; both books have been excellent.
Peepcode screencasts and PDF books have also been great for getting started; at $9 per screencast it’s hard to go wrong. I actually bought a 5-pack.
Also check out the following:
- Official Rails Guides
- Railscasts
- railsapi.com or Ruby on Rails – APIdock
- The Ruby Show
- Rails for Zombies
- Softies on Rails – Ruby on Rails for .NET Developers
- Rails Podcast
- Rails Best Practices
I’ve burned through the backlog of Rails and Rails Envy podcasts in the past month and they have provided wonderful insight into lots of topics, even regarding software development in general.