
Want to learn Rails? Start here. - kine
http://zackshapiro.com/post/31672964808/want-to-learn-rails-start-here
======
squidsoup
Somewhat tangential, but I wish there were more comprehensive learning
resources for Clojure, particularly getting started with web development.
Given that there is no equivalent of Django or Rails, and web development in
clj is really about assembling a collection of libraries (Ring,
Compojure/Moustache, Enlive/Hiccup etc), it is much harder for the initiate to
understand how everything fits together. The fact that Rails is so opinionated
also really helps the new developer become productive in a relatively short
timeframe.

I'd imagine this would apply to just about any other language as well really.
The Ruby community really is fortunate to have such brilliant free resources
out there for learning Rails and the language.

~~~
programminggeek
Um, why exactly would you use something like Clojure if you're not comfortable
building up your own particular set of libraries that you like for your
project?

Clojure to me seems like a language culture that would likely tend towards
smaller libraries that do specific things than something with batteries
included and such like Rails.

If you want something on the JVM with more of a batteries included approach
Play Framework for Java and Scala is pretty nice and Lift for Scala is cool if
you're willing to take a very different approach to your web stack.

~~~
squidsoup
> Um, why exactly would you use something like Clojure if you're not
> comfortable building up your own particular set of libraries that you like
> for your project?

I decided upon Clojure as I think it meets the needs of my project well, which
is basically an expert system. I need to consume a number of domain specific
java libraries, and the native support for logic programming with core.logic
and datalog is a big win. Clojure certainly wasn't the easiest choice - I
would be much further ahead if I started with Ruby.

> Clojure to me seems like a language culture that would likely tend towards
> smaller libraries that do specific things than something with batteries
> included and such like Rails.

I should clarify that I think Clojure's favouring of smaller composable
libraries is ultimately a better approach than the monolithic framework. It is
much more difficult to get to a point where you're productive however.

------
nwmcsween
Usual things in rails is really simple but doing unusual things requires going
down a rabbit hole of google searching, rdoc, blogs, etc due to the modularity
(I had this issue with thor) of rails.

~~~
simonsarris
This _exactly_ describes my experience with Rails. It was so easy to do very
normal things, and finding and extending gems was so much easier than doing
the same with apps for Django, because in Django I basically had to rewrite
every app I wanted to use (plugabiltiy was really bad, at least back in
2009-ish).

But with rails as soon as I wanted to do something less than extremely typical
I was in a world of terror an _ambiguity._ It was so hard to figure out the
"right" way to accomplish a lot of tasks.

~~~
nwmcsween
The ambiguity wrt choices is what gives rails it's large ecosystem (as well as
semi high 'addon' churn). It's both bad and good, bad due to the huge amount
of reading needed to fully understand a stack such as devise and good in that
it allows such modularity.

~~~
cheald
This is a lot of the reason that I don't recommend that students use something
like Devise right off the bat. Putting things in middlewares is pretty great
for separation of concerns, but it's confusing as hell if you need to figure
out how something is done, and it's nowhere to be found in your source.

------
philmoldavski
Very solid approach. As an incoming Fall '12 DBC student, I've found Ruby
Koans (<http://rubykoans.com/>) and Ruby Cookbook
([http://www.amazon.com/Cookbook-Cookbooks-OReilly-Lucas-
Carls...](http://www.amazon.com/Cookbook-Cookbooks-OReilly-Lucas-
Carlson/dp/0596523696)) to be incredibly helpful in grounding and adding more
context to my Rails Tutorial experience.

------
benigeri
<http://schneems.com/ut-rails>

------
fromhet
So basically

1: Study it

2: When you're lost, research and ask someone

?

~~~
rolandal
I think the real take-away is to give yourself an actionable/completable
project, that you can devote significant blocks of time to, and then feel good
when you complete them.

~~~
kine
Bingo, Rolandal

------
programminggeek
I'm a big fan of the giving myself some kind of challenge to prove out a
framework or technology. Like, "build a meme site" or "build twitter" or
something like that. It does two things. One, you are forced to use the
technology for a real thing to solve real problems. Two, it becomes very
apparent how good the documentation/community/libraries are. Both are critical
because most any technology can solve most any problem you throw at it if you
are willing to write enough code, but the libraries, documentation, and
community make a huge difference in the day to day experience of using any
language or framework.

------
ThoroughlyR
I'm actually in the process of learning Ruby right now. I'm curious though.
From the perspective of someone who has hasn't been programming for a long
time, would you consider it a good idea to learn Ruby before learning Rails?
I'm waiting on my copy of The Well-Grounded Rubyist to arrive so I can get
started.

~~~
jlees
Check out <http://tryruby.org/> while you wait. I just ran through it again
last night and it's so beautifully crafted I want to weep.

I learnt Ruby kind-of-alongside Rails and wish I'd spent more time focusing on
the language itself; I'm going back and deepening my knowledge of it now. But
it depends on how your mind works, whether you want to get a Rails project
going yesterday, what knowledge you have locked away somewhere, and so on.

------
TallboyOne
And some more: [http://pineapple.io/resources/tagged/ruby-on-
rails?type=tuto...](http://pineapple.io/resources/tagged/ruby-on-
rails?type=tutorials)

------
Enthouan
The article doesn't mention <http://railsforzombies.org>.

Which is a great first tutorial to get some basic with Rails.

------
mutewinter
Here's another good list, and it takes contributions on GitHub.
<http://iwanttolearnruby.com/>

