from Hacker News

Ask HN: Which one should I learn deeper, Node.JS/Express.JS or Ruby on Rails?

by carlosedp on 2/9/12, 6:11 PM with 9 comments

Recently, I've been investigating jobs in the Web industry and startups and to go further, I would to learn deeper one of those.

Many offered positions asks for Rails knowledge but looks like Node is getting a nice spot in Web development for the very near future, also due to it's traction and the always improving Express.JS web framework, I'm still uncertain which one I should learn deeper.

I already know a little bit of both and been fiddling with Node recently.

Any tips on which one I should delve into? Maybe both?

Thanks

  • by jrubinovitz on 2/9/12, 7:18 PM

    What are the jobs and projects you want looking for? When I decide to commit most of my learning time to a certain language, it's because that's the language I want to and like programming in the most. For instance, right now I'm trying to branch out and do less frontend work, so I'm learning more Ruby on Rails and Django and concentrating less on JavaScript.
  • by pestaa on 2/9/12, 6:57 PM

    You already know a little bit of both, so why not just make the call yourself? I feel you already made up your mind and now you're seeking reinforcement. It's a technology trap and hurts your business. Good luck.
  • by bo_Olean on 2/9/12, 6:25 PM

    I like playing with JS. It's nice to have JS on both ends.
  • by wavephorm on 2/9/12, 8:19 PM

    I found Express.js and it's sister-framework Connect to be a complete mess. I had trouble following what was going on, major problems debugging, it uses the factory pattern in the wrong places, and the Rack-style middleware is inefficient and unnecessary for most projects. But NodeJS itself is great, and to learn it best I think it's worth the time to write your own simple framework and utilize libraries where appropriate (like db libraries, formidable, and websocket.io).

    Rails is over. It's a bloated meta framework that requires enormous amounts of peripheral knowledge to understand.