

Ask HN: Learning RoR, Books & Tutorials? - bgnm2000

Hey Guys,<p>I have a background in limited C++, Java, Javascript, HTML, and PHP.<p>Where should I start to learn RoR?<p>I'm assuming there have to be some great "go-to" books and tutorials widely known in the RoR world.
======
dpnewman
Railcasts by Ryan Bates are phenomenal. <http://railscasts.com/>

I went through this book when I was learning Rails. I liked the fact that by
the end, I had accomplished a bunch of things that I knew I would use again
and again. [http://www.amazon.com/RailsSpace-Building-Networking-
Addison...](http://www.amazon.com/RailsSpace-Building-Networking-Addison-
Wesley-
Professional/dp/0321480791/ref=sr_1_1?ie=UTF8&s=books&qid=1246322879&sr=8-1)

For a have on hand reference: [http://www.amazon.com/Rails-Way-Addison-Wesley-
Professional-...](http://www.amazon.com/Rails-Way-Addison-Wesley-Professional-
Ruby/dp/0321445619/ref=sr_1_8?ie=UTF8&s=books&qid=1246322879&sr=8-8)

And a good compilation of beginner resources:
<http://rushi.wordpress.com/2006/09/24/ruby-on-rails/>

------
JeremyChase
Since you ask where to start with RoR you should start with the Ruby part of
it. Learning Rails with a spotty knowledge of Ruby is much more difficult;
Simultaneously figuring out Ruby and Rails makes it all too annoying.

I don't mean you need a high level of Ruby, but you need some. Start here:
<http://en.wikipedia.org/wiki/Ruby_(programming_language)>

Then you need to start writing some code.. "Ruby in twenty minutes" on ruby-
lang.com is not very complete, and I didn't care for it. I found
<http://www.math.umd.edu/~dcarrera/ruby/0.3/> much more helpful.

After you can write some stuff, head over to the Rails books.

~~~
helium
Try ruby - <http://tryruby.hobix.com/> is a really wonderful resource

------
mr_luc
That's tough.

Javascript is powerful, but you don't get exposed to its power unless you want
to, and it's not on the server, so most people don't have the opportunity to
really get into it.

That means you'll probably be learning the most powerful language you've
learned so far. Things like ruby blocks, mixins, and the flexible syntax that
springs from the message-passing language -- these might take a bit of getting
used to. And closures! My goodness. If you aren't quite the Javascript wonk,
and your only experience is in Java/C++, closures can't help but be a BFDeal
...

But if you learn RAILS ...

Many of the most characteristically Railsy things in Rails are NOT idiomatic
Ruby. That will change to some extent, as the merb guys are rewriting much of
the Rails core.

If you learn Rails first, I can see you really hurting your practical hacking
ability in Ruby. Which would be a shame; I mean, if you learn Ruby after
'limited C++', you're going to feel like a freed slave for a long time, and I
want you to enjoy that feeling.

I know it's important to learn Rails if you want to hack ruby in any
professional capacity. If you have to go ahead and pick up an opaque copy-and-
paste knowledge of Rails first, go ahead.

But if you find yourself feeling frustrated, just remember -- that's probably
the Rails, not the Ruby.

I recommend the Pickaxe book as a REFERENCE. I recommend working through
"Why's Poignant Guide to Ruby", and doing a couple of code-golf exercises, and
a few minor interesting throwaway programs for yourself. Maybe something using
SDL or Gosu, to make something that's immediately multimedia-ish.

I came to ruby through Lisp, and Ruby is largely a one-legged lisp with
syntax, but I love it just the same.

------
csbartus
Learning RoR -- and maybe other web frameworks too -- is not easy. There are
at least two phases of the learning process: learning Ruby as a language and
Rails as a framework, then get acquainted with the RoR ecosystem -- github,
deployment, existing reusable projects and components, best development
environment, how the community works etc etc.

As a first step I recommend reading books, start coding, participating in
simple open source projects/gems on github. Get the RoR style.

Then get on the flow by reading RubyFlow, try other things than Rails like
Sinatra, ruby screen scraping etc etc. Get the RoR/Ruby perspective.

I highly recommend community-powered resources for all of these:

\- Rubyflow, PlanetRubyOnRails : the everyday news, announcements \- Apidock :
ruby, rails, rspec guides \- Rails Guides : up-to-date Rails doc in a readable
format \- Ruby Toolbox, RubyTrends : all about the ecosystem in real-time.
You'll learn here what modules to use/digg in, how to extend your sources of
information.

Personally I would recommend two books: Design Patterns in Ruby by Russ Olsen
and The Art of Rails by Edward Benson

------
aidscholar
I found the Ruby on Rails guides (<http://guides.rubyonrails.org/>) combined
with the Rails API (<http://api.rubyonrails.org/>) to be really helpful.

I started with the Agile Web Development Book with Rails
([http://www.pragprog.com/titles/rails3/agile-web-
development-...](http://www.pragprog.com/titles/rails3/agile-web-development-
with-rails-third-edition)), but eventually just switched to the guides, api,
and google.

------
slig
Since you don't have a Ruby background, I'd recommend you to check django. The
documentation is very complete and well written and you can read a complete
book about it for free[1]. It's a Python framework, though.

[1] <http://www.djangobook.com/en/2.0/>

