News for hackers. Stuff that matters.
Re:Ask HN: Should I Learn Ruby? by acangiano on Saturday July 10, 2010 @08:02PM (#1504567)
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?

Re:Ask HN: Should I Learn Ruby? by spokey on Saturday July 10, 2010 @09:27PM (#1504711)
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.

Re:Ask HN: Should I Learn Ruby? by jshen on Monday July 12, 2010 @01:32PM (#1508651)
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.

Re:Ask HN: Should I Learn Ruby? by acangiano on Saturday July 10, 2010 @09:35PM (#1504721)
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).
Re:Ask HN: Should I Learn Ruby? by acpigeon on Saturday July 10, 2010 @08:45PM (#1504645)
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...

Re:Ask HN: Should I Learn Ruby? by acangiano on Saturday July 10, 2010 @09:24PM (#1504707)
The author is reputable and $89 is basically peanuts. Go for it.
Re:Ask HN: Should I Learn Ruby? by sleight42 on Saturday July 10, 2010 @11:28PM (#1504872)
If you are as yet unfamiliar with webapps, learn a little about HTTP. It's what makes all webapps "go".
Re:Ask HN: Should I Learn Ruby? by noahc on Saturday July 10, 2010 @09:31PM (#1504716)
What things would change if you went the python route?

Ruby = Django

Rspec = ????

Is that it?

Re:Ask HN: Should I Learn Ruby? by acangiano on Saturday July 10, 2010 @09:34PM (#1504720)
Ruby -> Python

Ruby on Rails -> Django

Git -> Mercurial (Hg)

RSpec -> Django's built-in testing

Re:Ask HN: Should I Learn Ruby? by mlinsey on Saturday July 10, 2010 @10:20PM (#1504775)
Why Mercurial? Most Python projects I've used are on git.
Re:Ask HN: Should I Learn Ruby? by grasshoper on Saturday July 10, 2010 @11:51PM (#1504896)
Well, Mercurial is written in Python, so I guess it belongs on the right side lol.
Re:Ask HN: Should I Learn Ruby? by mlinsey on Sunday July 11, 2010 @01:36PM (#1505809)
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.