3 ms·
1. That depends a lot on you, and it goes without saying that you won't likely be more productive on your first project or two while you're still learning the l
by Zak 16y ago
1. That depends a lot on you, and it goes without saying that you won't likely be more productive on your first project or two while you're still learning the language and libraries. Web frameworks in general try to do some of the work for you. Rails, in particular takes a lot of the busy work out of writing a "typical" web app. I think I'm probably twice as productive on a big project with Rails than with bare PHP. I haven't used any PHP frameworks.
2. There's a bit of a tradeoff between ease of deployment and cost. Specialized hosting services like Heroku are very easy, but can get pricey, especially as you scale. Setting up and running your own VPS can be very cheap[0], but requires learning basic *nix server administration. You should probably learn that anyway, as a web developer, but it does add to the barrier to entry.
3. Switching could be a distraction from actually getting stuff done. You can expect a significant drop in productivity as you learn, especially if PHP is the only language you know. There's a lot of new stuff in Ruby, and Rails has a decent-size API. You may also want to consider the universality of PHP on cheap web hosts if you're writing code for other people to run on their own servers.
4. Ruby, as a language seems to me like the designers really kept the user experience in mind. It's similar to the advantages often cited for Apple products. I've heard similar things about Python, but I haven't used it nearly as much. Another advantage I've found over PHP is that example code in both Ruby and Python is much more likely to be exemplary. There's a lot of example code for PHP floating around on forums and blogs that would be better used for counterexamples.
[0] prgmr.com starts at $5/month, though that plan isn't enough to handle much traffic.