I'm a php developper and have been for a good 7-8 years now. I took the time a year ago to learn cakePHP and yes, the documentation was lacking, but I hung out with the devs in #cakephp and can now safely say I know it almost inside out and can whip out applications like it's nobody's business.<p>Thing is, in university I learned C, assembly, C++, java, PERL, in various environments, so I know I can pick up RoR in a couple of months, especially when I leave my company this month to start coding my web application ideas.<p>My question is the following: I'm drowning in RoR propaganda and consequently am actually considering learning it. Is this a wise move or is my time better spent taking what I know (cakePHP) and developping my ideas now? I'm curious what you all think.
sit down and build a small app with it that <i>doesnt</i> rely on the crud framework. something like an events calendar should give worthwhile insight on setting up an application, working with the database orm, controllers, templates, etc. you could even sprinkle in some web service consumption on top afterwords to play around with web api interaction with your application.<p>by this time, you should have a pretty clear of how it feels to work with rails. more importantly, you'll be able to determine whether you want to take a deep breath and inhale the hype or try something else.<p>if you don't care for it, go back to cakephp. or codeigniter. or phreeze. or, give django a try. i tried rails when it first came out, didn't care for it, and went with django because i enjoyed python and liked how django was shaping up.
Ruby, as a language, is reasonably compact, and certainly not a big jump for someone with any amount of Perl and OO experience. Rails, on the other hand, is a big framework. You can learn the basics in a few days, but much like PHP, you really can't master the ins-and-outs of the full stack without (at least) several months of regular use.<p>It's also a moving target: new APIs fade in and out of existence with pretty much every release, and many "best practices" (early RESTful routing, anyone?) are picked up and dropped pretty much according to the whims of DHH and the other core committers.<p>That's not to say that it isn't worth learning, of course; if you're willing to commit to using Rails pretty much full-time (and work within its limitations) for the bulk of your projects, it offers a lot of great infrastructure to build on. Since it sounds like you want to focus on solo development of web applications, Rails may be just about perfect for your needs.
Just watch the screencasts and spend a day or two giving it a go :) It's incredibly simple to get a webapp up and running, then you can judge for yourself. Judging by your experience I doubt it would even take you a couple of months, most probably it would only take you a couple of weeks to have the basics you need to write a webapp.
I think it's better to stick with what you're familiar with.<p>To use books and written languages as an example, can anyone name a writer who suddenly wrote better books when he switched to a different language?