Linguagem GO

O que acham sobre a linguagem GO? Porque ela não é tão conhecida e nem tão usada? Pelo que eu vi na prática ela é uma linguagem bem minimalista, realmente bem simples, seja na declaração de variáveis e etc

1 curtida

Na minha opniao é tecnicamente a melhor tecnologia para back-end http e middleware, nativo e a linguagem não tem complicações desnecessárias para back-end. Ainda é pouco adotada pq a maioria das tribos ainda são Java / .NET, e no mundo Go ainda não tem uma infinidade de soluções prontas como para Java e .NET. Com o .NET Core a galera do .NET dificilmente vai largar o mundo .NET, onde me incluo. Depende da oportunidade que surgir, as tecnologias podem coexistir. A empresa pode ter um legado Java, mas alguns serviços em Go e .NET Core.

1 curtida

Acho que Go já é bem conhecida em alguns ambientes. Se você olhar na nova geraçao de ferramentas sendo desenvolvidas hoje em dia, várias estao sendo desenvolvidas nela (acho que depois do Docker a popularidade cresceu muito).

Em empresas que trabalham mais com aplicaçoes comerciais acho que a adoçao vai ser mais lenta mesmo.

Tem algumas coisas que me incomodam em Go e tirou meu interesse em usar mais a fundo:

  • Tem que lidar com valores nulos: para uma linguagem moderna acho bem estranho ainda ter que se preocupar com null.
  • Falta de generics
  • Tratamento de erros: eu entendo o argumento de nao querer exceçao (apesar de nao ver como problema), mas a forma repetitiva de tratar erros é irritante.
  • Declarar dependências direto do Github
  • Coisas mais subjetivas como facilitar o trabalho do compilador (pra ser rápido) ao invés do trabalho do programador.

Pra mim a grande vantagem de Go foram as ferramentas criadas juntas da linguagem, como formatador de código, detector de race condition, compilador multiplataforma, etc.

Como próxima linguagem, nesse mesmo nicho, eu particulamente preferiria investir em rust, que tem uma adoçao ainda menor que Golang, um ecossistema ainda menor, mas as prioridades da linguagem parecem ser mais alinhadas com as minhas.

1 curtida

Vou dar uma olhada no rust, achou interessante?

Tem muita empresa lidando com GO em suas tecnologias. Eu já tenho alguns cursos pra começar e colhi alguns materiais de pessoas que trabalham com a linguagem. Tem também o grupo do Telegram. Gosto das características da linguagem e pra qual demanda ela foi desenvolvida. Vi bem pouco mas pretendo começar a lidar com ela aos poucos a medida que as disciplinas do meu curso deem um espaço hehehe.

@AbelBueno tem algum curso de Rust em português? material etc?

Sim, muito interessante. Acho que ela tem uns conceitos mais difíceis de entender do que outras linguagens, mas me parece valer a pena o esforço extra.

Infelizmente nao conheço. Eu estava praticando na track de Rust do exercism e vendo palestras no youtube, mas geralmente em inglês mesmo.

1 curtida

Eu programo em Go.

Estou reconstruindo todo um backend feito ha anos em Perl 5.12.2 e o resultado é interessante.

O que eu gosto:

  • compila pra codigo nativo e tem garbage collector
  • tem ponteiros e é seguro
  • tem reflection apesar de ser lento
  • composição de estruturas de dados é bem divertido ( uma vez q não tem herança )
  • tem tipos unsigned
  • interfaces <3 <3 <3
  • goroutines e channels são puro amor
  • defer é seu amigo
  • ferramentas de profiling, benchmark, etc

o que eu demorei a entender ou gostar:

  • error handling ( todo codigo tem diversos if err != nil { } e de-lhe errors.Wrapf )
  • a diferença entre array e slice
  • pra que serve a capacidade de um slice
  • sintaxe de metodo publico/privado

o que eu não gosto:

  • a comunidade tem o rei na barriga e sempre acha que as suas soluções são melhores. ai ignoram o resto do mundo.
  • existe uma paranoia por codigo que executa rapido, ai as vezes o foco é no benchmark e não se o codigo funciona.
  • muito NIH ( Not Invented Here )
  • falta de Generics deixa tudo com cara de Java 1.4
  • queria anotações de verdade em metodos
  • as vezes nil não é nil :exploding_head:

pra mim é uma super linguagem. demorei pra me tornar proficiente mas hoje eu programo de boa.

vale investir mesmo q não usem no Brasil ainda.

1 curtida

Substitui bem nodejs ou são coisas totalmente distintas?

eu acho q muita coisa q vc pode fazer com node.js vc pode fazer em Go com um pouco mais de sofrimento.

só o fato de ser uma linguagem tipada e compilada ja ajuda. E olha q eu programava em Perl.

a ideia de channels e goroutines é muito interessante e vc pode ter paralelismo real dependendo do numero de nucleos que o seu processador tem.

1 curtida

Tem material pra indicar, @peczenyj ?

Alura possui um curso sobre Golang

Sim, justamente. Quero saber se o curso é bom, ou se o Peczenyj estudou por lá e tal.

Querendo ou não, Alura é um investimento.

Já procurou na udemy? Preços bem acessíveis…

Já! Fiquei em dúvida sobre o curso em si, por ser relativamente “Novo”. Mas eu gosto da Udemy, então acho que pegarei o curso de ambas.

1 curtida

Eu primeiro fiz o tour de Go

https://tour.golang.org/welcome/1

Depois li o livro do Caio, que saiu pela casa do Código.

Depois, me enfiei na documentação oficial

https://golang.org/pkg/

https://blog.golang.org/go-slices-usage-and-internals

Com isso e pratica vc pega o básico sem problemas.

1 curtida

Obrigado pelo path.