

Ask HN: Learning Ruby + MooTools - sscheper

Compared to most people here, I'm a n00b when it comes to programming. I've had a computer since I was five, but I never really got into computing languages until this past year (I'm 23 now---yes, pretty old).<p>Without ever taking one class in computer science, I managed to create about 8 websites (built off of wordpress): http://venturedig.com/?page_id=335<p>I know html, css, php. But that's pretty much it.<p>My Goal: My new goal is to increase progress and create a light-weight 37 signals-like app, using my new macbook.<p>I could be wrong, but I imagine that in order to accomplish this goal, I'll need to use Ruby on Rails and MooTools. Do you think a beginner can grasp it? And, what do you think the learning curve will be?<p>Thanks!
======
teej
I was in your position 4 years ago. I had spent some time learning HTML/CSS +
PHP and had thrown up a few websites here and there. I wanted to get into real
web dev, and I decided Rails would pave that road.

I'm not one for books, but Ruby on Rails: Up and Running
(<http://oreilly.com/catalog/9780596101329/>) was an incredible resource for
new devs. I have since introduced two other people to Rails though that book
and they loved it. One issue: it's old. If they haven't updated it for Rails
2+, don't go near it. You might want to try the Rails Guide instead
(<http://guides.rubyonrails.org/getting_started.html>)

From there, I picked up Ruby for Rails (<http://www.manning.com/black/>). I
read about 20% of this book. It was critical for me understanding the "magic"
behind Rails and the weird syntax behind Ruby. I came from a somewhat CS
background, so YMMV.

After that, I left the books behind. I just found problems and tried solving
them with Ruby & Ruby on Rails. I did a few crappy webapps, some of the
Facebook engineering puzzles, some of the Project Euler questions.

\----- One word: PRACTICE. -----

At first, stay away from doing it perfect, just get something working and
iterate. You don't need a full suite of tests, scale to 1M users, and super-
clever meta-code (you dont need this ever). Every project you do you'll get
better.

And when you get stuck, know where to go for help. The people who hang out in
#ruby & #rubyonrails on freenode can be really helpful. To get the most out of
this help, enter the room, state that you're new to Ruby/Rails, explicitly
state your end goal (I want to see a list of customers on the screen), and
include all your relevant code in a pastie. You may have to be patient, but
the people there are super smart and super helpful.

\---------------------------

Through a combination of self taught Ruby on Rails programming and putting
myself in professional situations with room for programming growth, I have
been incredibly successful. I'm positive you can too. Pracitce lots, always be
learning, don't be afraid to ask for help. Best of luck.

------
jlees
Yes, of course you can grasp it! The tutorial stuff on Rails is really easy to
follow - it's a complex process, but it's not intimidating if you get a good
book. Out of everything in the space at the moment Ruby and Rails are probably
your best bet, if you want to build a lean mean fighting app machine,
especially if 37signals is your inspiration, as that's their platform. (They
even wrote the book on it: <https://gettingreal.37signals.com/>)

Of course, others will rabidly disagree. Do a bit of homework, flick through
some books in a shop and see if you can follow along. Maybe others will
recommend good web based tutorials but I always prefer paper.

MooTools.. another buzzword.. don't get hung up on using that over the
alternatives like prototype and script.aculo.us, but again, it's fairly easy
to use (I haven't looked at the for-newbies tutorials though). I'd focus on
the stuff under the hood first and worry about learning MooTools later.

The learning curve won't be easy for a complete novice, but it will be
masterable. Good luck!

------
sharkbrainguy

      I could be wrong, but I imagine that in order to accomplish this goal,
      I'll need to use Ruby on Rails and MooTools.
    

You are wrong, in that your goal doesn't imply those requirements. RoR is one
tool among hundreds that you could use to write a webapp. The same is true of
MooTools.

I'm not saying that they're not good options or even that they're not the
_best_ choices (maybe they are), but it doesn't follow from "I want to write a
web-app on my mac" that "I need to learn RoR and MooTools".

That being said.

Yes, I think that an intelligent 23yo who knows php can probably learn Ruby (+
rails) and JS (+ MooTools).

I'm not sure how useful an answer you can get here though. If people say yes,
you're going to go and do it. If people say no, you're going to think to
yourself "F--k that" and do it anyway (or at least you should).

------
sscheper
Thanks for the help everyone -- I'll be using the local Barnes and noble to
browse through your recommended books :)

