top | item 207853

Ask YC: Should I believe the Rails hype?

4 points| edb | 18 years ago | reply

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.

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.

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.

9 comments

order
[+] mattdennewitz|18 years ago|reply
sit down and build a small app with it that doesnt 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.

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.

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.

[+] edb|18 years ago|reply
I guess it's because I'm still working that I feel that there's no time for that. Maybe when I free myself up completely I'll be able to sacrifice a bit of time towards learning rails.

Thanks for the advice.

[+] rcoder|18 years ago|reply
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.

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.

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.

[+] Hates_|18 years ago|reply
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.
[+] edb|18 years ago|reply
This is the thing.. My experience dictates that I'll pick up RoR pretty quickly, but what really makes or breaks a framework is what happens when you try to do things outside of basic CRUD administrative interface stuff. I find it takes at least a couple of months of serious coding before you REALLY get to know what a framework's about.

... or is that just because cakePHP is badly documented? :)

[+] brunnock|18 years ago|reply
I think it's better to stick with what you're familiar with.

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?

[+] rcoder|18 years ago|reply
That attitude would guarantees that you'll never pick up new skills, or stretch yourself enough to discover what you're really capable of.

Learning new programming languages and frameworks is incredibly important, if your goal is actually to be a well-rounded developer.

[+] orlick|18 years ago|reply
If you want to be a better programmer -- Learn Rails

If you want to spend your time creating a new business -- Stick with PHP