Hacker News new | comments | show | ask | jobs | submit login
Ask HN: RoR or Node.js or Go
12 points by xoail on Oct 22, 2012 | hide | past | web | favorite | 10 comments
I come from .net background and been wanting to learn one of these hot techs for building my side project. The project itself doesn't have a need for anything more specific and could be built using either of them (I played around with all 3). I am interested in learning a technology that is more promising and could eventually help me make a smooth shift from .net and survive even if my side project is a complete failure. Any suggestions?

Well, if you want a promising technology everyone's hyped about the future of js, js is becoming everything and so there you'd have node to play a role. Personally though, I just haven't found node to be that useful compared to Go, also for me the nested callbacks within callbacks are annoying. So I'd say to pick Go, although its a little early in the game to see how well it will be adopted and how many useful libs will be created for it, nonetheless the language itself is beautiful mix that gives you low level (c-like) control and speed, with nice abstractions that make your job less tedious than c and more like python/ruby programming.

Last a note about Ruby, I think the VM is amazing the API is great and programming in ruby you can throw things together blazingly fast and clean, so its also a good choice. Overall though I'd say Go, I think its the best language to come around in a long time and people will adopt it

Thanks. Go is definitely interesting but my biggest concern with it is, it is so new that it might take few years for the adoption.

I've used RoR and Node. RoR has a bigger community, so you're likely to find answers faster, and probably provides better job security. You may want to try Ruby/Sinatra, which I prefer over Rails. When you're learning, Sinatra forces you to develop more yourself, so you're more likely to understand what's going on. It's less "magical" than Rails.

Node is better for streaming/real-time applications. You can build any type of web app with it, but it's best known for chat/real-time stuff.

That said, I actually love Node and plan to use it as much as possible, over Ruby/Rails/Sinatra.

Thanks! Do you see node being widely used as much as RoR these days in few years?

Not a fair comparison I've linked here, but if you're looking for popularity, I find google insights insightful some: http://www.google.com/trends/explore#q=node.js%2C%20ruby%20o...

Thats very interesting to see node getting more popular than RoR so quickly. Thanks for sharing.

When I'm looking for a new programming language to learn, I ask the question, "Will I learn something new about the fundamental concepts of programming?"

It's my 10x better test. In general, I think all three are good to know, and each are good at what it does. Ruby is in the 'everything is an object' world, and does it well. It optimizes for programmer speed, rather than execution speed.

Node.js is like being dragged halfway to lisp and functional programming. Learned a lot here, but having callbacks is almost like having to program with continuations all the time.

Go is for systems programming, and it's got its own take at concurrent programming. It's worth looking into.

Either way, just start at one, and eventually do side projects in the others. Can't hurt to know them all.

Basically I was hoping to do a deep dive into one tech. Like I said, I've been already playing with the mentioned 3 tech but neither an expert nor know enough about them. By working on my side project I would like to see myself move into a promising tech that will help me stay in the job market. So if you were me, what would you do?

I think if you lean towards system programming at Google, go with Go. If you want to do web dev, either Rails or Node.js would suffice. If you want to do both backend and frontend, familiarity in javascript, go with Node.js. Rails libraries are more mature, but most new interesting libraries seem to be in javascript.

Node.js is the middle road between RoR and Go. RoR is the establishment, Go the frontier. The Node middle road provides the best trade off between community infrastructure and advanced design. Thinking in async is an acquired habit which will be frustrating at first, but fine after a while.

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