Use the right tool for what you're doing. Ruby (or PHP) is great for rapid prototyping. But you won't want to use it if you need distributed processing. Also I feel more productive when I learning when I'm doing. Sure gems gets you more features, but how much have you really learned vs building it yourself?