Topic: Learning Curve

What would you say is the learning curve for ROR? some one with previous programming experience?

I see people asking for ROR programmers but before those ROR Programmers became one they had to start from scratch so I was wondering if some of you were able to pick it up in a Week/Month/Year?(I dont think it has been out that long smile )

"...porque Jehová tu Dios estará contigo en dondequiera que vayas." Joshua 1:9

Re: Learning Curve

Aside from my dirty hacks of textpattern, I have no real programming experience. I have been working Rails for about 2-3 months and am just now starting to get comfortable. I still have a ways to go..my aim is to really adopt Test-Driven Development and truly learn Ruby from the inside out, but I tell you it is a relief how much tedious work Rails handles for you. Active Record, RJS, migrations... I cant imagine developing without them!

As far as your situation.. it really depends on how comfortable are you with the following:

- Command Line
- Object Oriented Programming
- MVC
- SQL (ActiveRecord will only get you so far)

Re: Learning Curve

for anyone that has used RoR and Codeigniter (if there are any...I don't see the point of using both), how do they compare?

besides the documentation, of course...

Last edited by Rhino (2007-03-21 11:28:36)

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Learning Curve

I'd say it took me about 2 months to become comfortable with ROR, and about six months to really be efficient. I've been programming in Ruby since early 2005. I come from a PHP & ColdFusion background, and although I never used CodeIgniter, I can honestly say that I find Ruby delightful to use.

Ryan Heneise  |  Art of Mission  |  Now with extra-strong Donor Tools mojo

Re: Learning Curve

Yes, I previously was doing mostly PHP and design work, but had kind of tapered off. Then I got a big client contract at the end of '04 and decided I needed to find some sort of framework to do it in, since raw PHP would have been a nightmare. I looked at a lot of different CMSes and frameworks, and then finally saw the screencast for Rails and decided to give it a try. I knew right away it was "the one" and decided to use it. It took me a while to transition from PHP to a real object oriented language like Ruby, but now I can't imagine going back. The rails framework just scratched so many itches I had (the ORM, consistent naming, "forced" organization, lots of things for actually helping you build dynamic web sites), but the real strength is the Ruby language itself. It's just so much more elegant than something like PHP. While something like CodeIgniter (or CakePHP or any of the other Rails-like frameworks out there) may have a lot of similar capabilities and make building sites in PHP faster, it doesn't turn PHP into Ruby. Ruby actually makes me want to write more code, whereas writing PHP was a chore.

check out stafftool.com - beautiful web-based church management

Re: Learning Curve

That's very interesting. I like CI for many of the reasons Takeo just mentioned. However, it is starting to seem like RoR can do anything that CI can, plus much more. I see what you mean about how CI doesn't turn PHP into Ruby, but I wonder: is that a bad thing? What would be the advantage to coding in RoR over CI or a similar framework? Is it a personal preference type of thing, or are there real values added by working with Ruby?


-Rhino

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Learning Curve

Rhino - well, I can only speak for myself, but the difference between PHP and Ruby for me has been pretty dramatic. Once I understood how Ruby worked, it just made so much more sense than PHP. The fact that Ruby is 100% object-oriented, while PHP has some OO tacked onto it with version 5, makes a big difference. Once I understood that, it just made PHP seem kind of shabby. In Ruby, you're always sending messages to objects, no matter what. In PHP there are lots and lots of oddly named functions that do similar things, but it isn't as cohesive.

Now, I've never used CI, just looked at the site and some of the samples, and it does look like a vast improvement over when I was just writing plain procedural PHP. It just doesn't change the fact that it's still PHP underneath, and ROR is Ruby underneath. I'd choose working with Ruby and day of the week, even if the frameworks are similar. A lot of people say that ROR is a gateway drug for Ruby, and it's pretty true from my experience.

If you're really adept at PHP and are fine with it as a language and have tons of experience and time invested in it, then I'm sure CI is great. Like I said, I was mostly doing design work and some PHP stuff here and there to add some CMS type stuff to sites I designed. When I got a huge custom CMS project, there was no way I was going to do it the way I had done old sites. ROR looked like exactly what I was looking for and it turned out that it was. If CI had been around back then, I may have just gone with it and stuck with PHP and its advantages (i.e. it's everywhere) - but I'm glad I found ROR smile

check out stafftool.com - beautiful web-based church management

Re: Learning Curve

Makes sense. I know exactly what you mean about how raw PHP is a pain to work with. CI is by far my weapon of choice these days, but this thread is making me wonder if I am missing out on anything important that Ruby can do. I read a few articles where people built entire webservers with Ruby that look relatively simple. PHP can't do anything like that, as far as I know.

Can anyone recommend any books, tutorials, etc to help learn RoR?

-Rhino

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall

Re: Learning Curve

For Ruby, you can start with the free Poignant Guide - it's weird (and pretty awesome) but helps explain the things that make Ruby Ruby. There's also Ruby For Rails which is excellent and is focused on teaching Ruby to people coming from a Rails/web dev backgorund. Then of course there's the Pickaxe which is basically the de facto Ruby handbook.

For Rails itself, Agile Web Development with Rails is the place to start. One that I've recently read that I really liked is Beginning Ruby on Rails E-Commerce, mostly because it takes you through the creation of an app using test driven development. It's the first Rails book I've seen to take that approach.

Hope that helps!

check out stafftool.com - beautiful web-based church management

Re: Learning Curve

Thanks dude! I'm going to look into RoR cause it sounds freakin sweet.

-Rhino

Lord, give us the wisdom to utter words that are gentle and tender, for tomorrow we may have to eat them.   -Rep. Morris Udall