I spent most of the week working to build a presentation-tier application with Ruby on Rails. I said in a previous post that I thought I could learn to like Ruby. I don't think the same is true of Rails. Rails definitely has some good qualities:
- The development experience is slick. In development, Rails does "hot deploy", so you can just save a change and hit refresh in the browser to see your fix in action. When you are developing in Python with PyDev, there is more fiddling about stopping and restarting servers, and although it doesn't take a long time, it is quite a lot slower and more distracting than with Rails. The Rails experience works with just a text editor, and when your browser request gets an error, the Rails response is a fairly rich debugging page that often allows you to immediately see what the problem is. This is especially true for simple syntax errors or mistyped variable or method names. What this means is that you can find and fix those errors in the run-time almost as quickly as you could if you had found them in an IDE that did better syntax checking.
- When you figure out what you need to do to make Rails do what you want, it usually seems to be very simple and easy. I would imagine that Rails experts who know what to do can get things done very fast