Hacker News new | ask | show | jobs
by spokey 5817 days ago
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.

2 comments

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).