Hacker News new | ask | show | jobs
by acangiano 5816 days ago
For the record, Ruby is just one, albeit massive, component. You need to learn a bit about each of the following areas.

Must have:

- HTML

- CSS

- Ruby

- Ruby on Rails

Really nice to have:

- JavaScript / jQuery (or similar)

- SQL / Database design

Nice to have:

- Git (Revision control system)

- RSpec or similar (Ruby testing)

You don't need to learn everything tomorrow, but I laid out sort of a roadmap of things you may want to focus on.

PS: Can you provide us with a link to the course?

4 comments

May I recommend that if you're new to Ruby and especially if you're new to programming as a whole you may be better off with web framework like Sinatra rather than Rails. Rails has a lot of "magic" and a fair bit of code generation that is going to make it harder for you to understand what is really going on.

I mean it's nice that rails can generate an "hello world" app without writing a line of code, I think you'll learn more about programming and writing a web app if you can better see what's going on:

Sinatra:

get '/hi' do "Hello World!" end

Rails:

rails generate controller hello

For that matter, don't let all this web and database stuff scare you off. Ruby is useful and powerful as a stand alone scripting language. You'll learn a lot just writing scripts that can run on the command line (and that will lay the foundation for the web stuff if you'd like to dig deeper). The web stuff isn't really any harder, but it's another layer of things to learn.

I completely disagree. Rails takes care of the foundation for you, and a novice doesn't need to know how it's implemented for a while. It also has good practices built in like dev,test,prod environments, testing infrastructure, mvc separation, etc.

Sinatra assumes you will roll all of this on your own. A novice won't know to do this, or how to do it, so I think it's better to have it done for you at first.

Yes, Sinatra is a good option. However, OP will be attending a course that covers both Ruby and Ruby on Rails (see the link he posted).
That's a good point. I imagine that I would be able to pick up what I need to know as I go along, that's what would make taking the course interesting (sink or swim!).

Here's the course description I was looking at. I haven't really looked anywhere else but I'm sure there are more out there.

http://www.ed2go.com/monroe/online_course/rby/detail/Introdu...

The author is reputable and $89 is basically peanuts. Go for it.
If you are as yet unfamiliar with webapps, learn a little about HTTP. It's what makes all webapps "go".
What things would change if you went the python route?

Ruby = Django

Rspec = ????

Is that it?

Ruby -> Python

Ruby on Rails -> Django

Git -> Mercurial (Hg)

RSpec -> Django's built-in testing

Why Mercurial? Most Python projects I've used are on git.
Well, Mercurial is written in Python, so I guess it belongs on the right side lol.
Wow, somehow this was the first time I learned that...but then again, Mercurial has never really been on my radar screen as a tool to use. Of course, with your VCS, you get better network effects by picking one that other projects in your language use, not what the VCS is written in. So I guess it's unsurprising.

But now I want to go read through the Mercurial source as I've been curious about VCS internals, but my C-fu is very weak, and attempting to read through the Git source is quite a chore for me.