Começando
A cada dia que passa surgem novas linguagens que se propõem a facilitar a vida de quem desenvolve. Cada programador tem problemas muitas vezes específicos seus na sua aplicação e acabam criando linguagens de programação ou ferramentas para melhorar sua vida.
Essas ferramentas ou linguagens acabam sendo úteis para outros programadores ao redor do mundo que se beneficiam disso. Eu realmente espero que esses ecossistemas nunca morram e sempre desenvolvam varias ferramentas ou linguagens legais para nós programadores aprendermos.
Node.js e Go
Ultimamente tenho me deparado com duas grandes ferramentas para o desenvolvimento. Percebam que eu usei um “e” e não um “vs” ou “x”, por que eu realmente acho que ambas podem ser usadas em conjunto.
Não existe uma ferramenta definitiva para todos os problemas, essas ferramentas estão ai e devem ser usadas sempre que possível. Mesmo que você vista a camiseta de uma linguagem e faça dela sua vida, não quer dizer que uma é melhor que a outra.
No cenário atual, pelo que eu percebo, não se vende software mais, se vendem soluções. É por isso que sempre que me perguntam em qual linguagem eu programo sempre digo “Qualquer uma”, depende muita da solução que queremos vender.
Voltando ao tema do tópico, Node.js e Go são ótimas para diversas soluções, muitas vezes podendo até usar uma ou outra pois teremos efeitos similares.
Na minha opinião a curva de aprendizado para se começar em Node.js é baixa, pois o código tem uma boa semântica, mesmo JavaScript não sendo a linguagem mais bela do mundo, mas tem suas vantagens em alguns aspectos.
Todo mundo que entra na área de Web, querendo desenvolver seu sitezinho em algum momento vai se deparar com o JavaScript para dar mais vida para esses projetos Web. Ai entra a facilidade do Node.js, praticamente todo mundo entende pelo menos o básico de JavaScript então são apenas dois passos para fazer algo a mais sem ter que aprender mais uma linguagem auxiliar. (Alias como menção honrosa, o NPM é animal.)
O Go, por outro lado tem uma curva de aprendizado um pouco mais alta, pelo fato de usar um paradigma pelo menos para mim um pouco diferente do usual. Mas a vantagem da mesma é ser compilada e ter uma premissa de bons códigos bem feitos, simples e objetivos que me agradam muito.
Entretanto a verbosidade de Go me deixa um pouco com preguiça. A biblioteca padrão(standard libs) do Go é algo deveras fascinante, pois já conta em seu core com muitas coisas realmente úteis e bem feitas. O que é um grande ponto positivo para soluções minimalistas.
Quando o assunto são ferramentas, ambas as linguagens tem meu total respeito. Não irei entrar em méritos nesse aspecto, pois só para falar disso eu precisaria muito mais de que algumas palavras.
Concluindo
Bom, eu tento ser um programador versátil e estar sempre por dentro das novidades para que eu consiga motivação também.
No meu mundo atualmente tem espaço para Node.js, Go e outras ferramentas para facilitar minha vida na hora de desenvolver e entregar uma solução com mais qualidade para o meu cliente.
Duas pessoas que estão no meu circulo de amizades e de respeito estão cada um em uma das pontas de Go e Node.js, ambos defendem com unhas e dentes que uma é melhor que a outra, mas pelo menos pra mim há bastante espaço para as duas cada uma no seu melhor.
Como disse acima, não pense em Node.js vs Go, pense em ambas juntas formando soluções melhores.