Hacker News new | comments | show | ask | jobs | submit login
Forcing myself to learn RoR (daemonl.com)
9 points by daemonl on Feb 2, 2013 | hide | past | web | favorite | 11 comments

He wants to learn RoR because he wants to learn "a new language" but by the sounds of it he isn't too psyched about learning a whole new web framework. I don't blame him, once you have seen one MVC framework..

So, why not just learn ruby but learn it in a context that has nothing to do with web frameworks? For example a program that can play music, a terminal script that automates something or a program to procedurally draw fractals.

You will learn ruby quicker because you won't have to get bogged down in details about how rails decides to do things.

If you find that you like the language more than what you are used to and wish you could write your webapps in this language you now have a solid reason to learn rails.

> You will learn ruby quicker because you won't have to get bogged down in details about how rails decides to do things.

Exactly! ... one of the most confusing things about Rails is how much you're told not to understand some of the heavy lifting done by the framework, the monkey patching and all kinds of magic tricks all over the place.

I've done webapps programming for long now and I recently followed the Rails tutorial from beginning to end just to make sure I could remember some now obvious stuff about testing, etc. and I understand it can be completely overwhelming if you try to learn all the Ruby + Rails + RSpec + SCSS + jQuery combo at once.

Try something simpler, build something with Shoes (http://shoesrb.com/) or if you're into web apps, something like Sinatra would be a better fit.

Shoes looks fun! My to-learn list just grew heaps.

Now that's something I can get excited about! How did I manage to forget (again) that the language can and does exist outside of the framework.

I've got a Raspberry PI... I can totally make something rubyish on it.

I've been using RoR exclusively for a few years building fairly complex companies - and still not a big fan - I think the Rails way only works in certain shops. Agreed that Rails is moving more to be the API provider only.

What Rails does for me is help with the mindset of a structured framework of good practices that is otherwise easy to let slip. So you can transition those to (say) Express.js , and then you value frameworks like Tower.js more (IMHO).

Start with Sinatra (it's more the Express of Node). Rails is great, but it's very convoluted and heavy. Ruby is a great language, so make sure to bifurcate the two.

I highly recommend skipping sinatra for padrino for anything beyond a simple site/api. It's sort of the happy middle ground between rails and sinatra.


Here's a hint: If you want to learn a language or framework, pick a problem (not a stupid trivial problem like 'hello world', a real problem, like, a kandan clone, or todo list you can append to via email or something) and solve it using that language and framework.

That process will give you an understanding not only of the sort of ways the framework is useful, but the sorts of people who answer questions about it on stackoverflow, the community, tutorials, existing basic MVP bases, etc.

Code jams are great for this sort of thing.

...but, what? You want to learn it because you don't want to, and want to add the 'rails' checkex to your CV? O_o

Do yourself a favour and don't bother.

That's good advice.

Not the CV, couldn't give a rats, I build every project in the language I think it should be built in, but basically because some people I respect say it's cool, and I'll never know if I don't learn it.

I'm not so keen on the meetup scene in Melbourne, but I suppose that's another thing to try.

My advice would be to learn Sinatra first. The time investment will be much lower than with Rails, IMO, and will let you know if Ruby is a good fit for you.

You might even find that Sinatra does everything you need. :-)

Seems to me that you think that all server-side stuff is all the same.

Learn Haskell.

Hm. Ok. I will. I don't even know what 'purely functional' looks like. That sounds like a much bigger and less boring stretch. Thanks!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact