I once would say Node.js but now I feel that Go has more potential for several reasons:
- Performance, similar to C and C++ it can reach raw CPU performance.
- Both have promises of concurrency but Go is very well implemented with goroutines. Since Node is JavaScript and JavaScript is using the event-callback which is less than elegant.
- I remember Node.js being a little clunky when it comes to scaling up to a massive implementation and then I read that Go was built from the ground up to be scalable and concurrent.
There are definitely downsides to both. Go does have a learning curve if you are coming from the JS side but the same goes for C and C++ developers going to the Node side. I think it really boils down to your apps needs. Use the right language and tools for the job and don't simply pigeonhole yourself into one language.