Node vs Go
A lot of people are always asking, which one is better: Go or Node?
Let me convince you that the comparison is quite pointless nowadays. I would even recommend that you learn both.
Let me give you some of my arguments.
First. We are now in the era of micro services. What this means is that you don’t have to be locked up in one programming language. You could deploy a subset of your services in one language, say Go, then deploy another on a different one using Node js. There is no reason to limit yourself to just one language to build your stack.
Second. Go is a compiled language. What this means is that you can still use Node or Python as your main code base, and simply spawn a Go child process when the need arise. Go was designed to be multi threaded, and the fact that it’s a compiled language, it’s really really fast on CPU intensive operations.
Fourth. Golang is more like a big upgrade to the family of C languages. So comparing Node to Go, is like comparing Node to C. What!? Why in the hell are you comparing Node to C?
Lastly. Ryan Dahl, the creator of Node js, even a created a Node/Go binding called v8worker. This implies that he envisions that these 2 languages can work together. A clear statement that these 2 languages are not in competition, but complementary.
Closing Notes. I think it’s time to stop labeling your self as “I’m a Node developer or I’m a Go programmer.” Which somehow implies “I will never use that other language.” I think we should start opening ourselves to what’s available out there. Some languages are really really good on certain/specific use cases and there is not one language that performs well on everything. We should stop being a fanatic of one language. Of course we all have our favorites, but to limit oneself, it’s definitely not good in the long run, as I have pointed out earlier, we are in the era of micro services.