Difficulty in learning ruby and rails

hello all,

Initially i started learning from agile web development with rails and then i thought of learning ruby first so i switched to PickAxe book. But i am finding pickAxe book very much difficult(although i was good at c++ programming). please suggest me that from where should i learn it now. online videos, or any reference links.

also i would like to ask should i learn ruby deeply for learning rails?

Hi,

Where to start?
Both Ruby and Rails have major releases pending (Ruby 2 in February 2013 and Rails 4 sometime soon), therefore there is a danger that any books you buy now will date quickly.

Ruby:
I can appreciate that the PickAxe book is a little heavy going, but it has become the de facto Ruby introduction and reference, so I would try and stick with it if you can.
Also, check out Peter Cooper’s “Beginning Ruby: From Novice to Professional”, which is a little more lightweight.

Rails:
For Rails, online guides and tutorials are plentiful. I 'd recommend http://guides.rubyonrails.org/ as well as http://railscasts.com/ (also available as http://asciicasts.com/).
Once you have worked through some of these, then I would go back to Agile Web Development for Rails.

Also, check out this list (which is fairly recent): http://programmingzen.com/ruby-and-rails-recommended-books/

Another book crossed my mind which might be interesting for you: Rebuilding Rails by Noah Gibbs
Check it out here: http://rebuilding-rails.com/

From the blurb:
With Rebuilding Rails, you’ll build an MVC web framework, structured like Rails and using the same underlying libraries and tricks. You’ll learn the magic behind Rails. You’ll finish each system and solidify your knowledge with structured exercises. And you’ll understand Rails like only a framework builder can.

I found that the ‘magic’ of Rails is a bit like “The Force”. It is easier once you submit yourself to it.
As a long-time software developer - with experience in numerous languages and technologies - I spent much time “fighting” with Rails because I was trying to over-think it.
Once I realized it is highly opinionated and will not bend to MY will, the ride was easy and actually FUN!!

I recommend, @moneysharma;, that you simply enjoy the process. Immerse yourself (with tutorials and sample code) in it. Read other people’s code (browse on Github). Even get your hands on an Open Source project and try to make it better. There is no obligation to submit your changes in a ‘Pull Request’. Just gain experience by DOING.

Thanks @Pullo, I will surely check that out :slight_smile:

And Mr.@ParkinT, how can i go on when i am not able to understand the book? i have tried some tutorials but they were too easy to learn and the book content is much tougher than that :frowning:

The best way to learn is simply DO IT. As you struggle through something you are learning it.
I recommend you follow one of those simple tutorials. Then, with the completed site, begin to ‘stretch’ your understanding by making small changes. Take the “What would happen if I do this?” approach.
When you have [specific] problems you can come to a place like this and ask questions.
Secondly, if you read through these forums - look at questions others have asked - the answers to others’ questions/problems will take your understanding much farther.

Try the rails tutorial book - it’s pretty good, goes from nothing to a nice little application including writing your test suite as you go. There’s a free online version and also a paid for version if you prefer that includes vids and such. I actually did the tut twice - once without writing the tests and once with.

Also, be sure to check out Code School and [URL=“http://railsforzombies.org/”]Rails For Zombies, which is a great little interactive introduction to Rails.
All of Code School stuff is top notch.

I have always been curious about ruby on rails. But it seems to be very complex and not so friendly for people that are not used to coding and programming. It seems to be very stable though.

Any programming language is going to difficult to pick-up without existing knowledge. That is no reason not to learn something. You think ruby is difficult try to pick-up c – the language ruby is built on top of. Once you try that you will thankful for languages like ruby and php. Really if you are familiar with one C style language ruby isn’t a huge leap. The most difficult part seems to be setting up unless your a UNIX/shell wizard. I had difficult time installing ruby and rails on both my home mac and work windows machine. That was probably the most painful part for me.

Rails is really a whole separate part of the equation. It seems like most books on rails can teach it without one actually being proficient in ruby. However, rails itself is really a separate piece. Once you become familiar with how rails does things you can look at just about any other MVC framework and understand it at a high level. I mean most MVC frameworks out there exist to model rails but within different languages. The concepts are always similar.

It is true that the installation and setup of Rails seems to be a huge stumbling block for many.
Yehuda Katz has taken on [URL=“http://www.kickstarter.com/projects/1397300529/railsapp”]an initiative to “package” and simplify the process. Hats off to him and other champions who are striving to make the entry easier.

I’ll throw in my support of the Code School classes—they’re super for beginners and even our sr. engineers pick up some good tips in them. As for which to learn first, I wouldn’t spend too much time focussed on Ruby to start out with. You’ll pick up some basics as you go through some tutorials and it should be enough to get up to speed and start building things with Rails. Once you’re at that point, you can come in and backfill your Ruby chops. I find it much easier to learn the details of a particular language after having some actual apps to serve as a proving ground for new concepts. When you do get to the Ruby, I highly recommend [URL=“http://www.amazon.com/Eloquent-Ruby-Addison-Wesley-Professional/dp/0321584104”]Eloquent Ruby

Good luck!

1 Like