On the server, I would choose Go over Node any day of the week. Go is just as easy to use as Node, if not easier. Performance-wise, Go can run rings around Node. Go is a far superior language for concurrent programming. It can spin up hundreds of thousands of “goroutines” or threads without breaking a sweat. Let’s see Node do that.

Go also has a great package manager. And unlike NPM, Go doesn’t suffer from a huge mess of modules, many of which are abandoned, many of which do not work as advertised. And let’s not mention the fragile dependency trees. Go has a far more disciplined community.

Although I have no experience with Erlang/Elixir, I understand that it can also give Node a run for its money.

I concede that Node is pretty amazing technology. It’s a pity that Node is tied to a crap language. I see no reason to choose Node over Go or Erlang/Elixir. And if you’re willing to live in the JVM, I’d also choose Scala or Clojure or Kotlin.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store