Sim. Nunca estudei a fundo pra entender exatamente por que o Go é mais leve em comparação com outras linguagens. Se não me engano, tem a ver com o fato de ele gerar binários bem leves — algo nessa linha.
Eu sei que dá pra fazer praticamente tudo com Go, mas nem tudo é viável, como acontece com qualquer linguagem. Meu problema real está mais no “como fazer” — se estou fazendo da melhor forma possível. Isso vem de um trauma que tive por me sentir só mais um programador de JavaScript. Em Go acabou virando algo mais profundo.
A organização de projetos em Go é algo que sempre achei meio complicada. Já testei várias abordagens em diferentes projetos, mas nunca fiquei realmente satisfeito com nenhuma das estruturas (ou arquiteturas) que usei. Sempre senti que não estava aproveitando o melhor que a linguagem oferece nesse sentido. Talvez isso aconteça porque o Go não segue um paradigma muito bem definido — o que, em alguns casos, ajudaria bastante, mas acaba atrapalhando.
A liberdade que o Go oferece é uma faca de dois gumes: se você não souber usar, acaba se cortando. Já linguagens como Java e C# têm uma estrutura mais rígida, que nos dá uma noção mais clara de como organizar um projeto.
Conseguiu pegar a linha de raciocínio?