Muitos de vocês provavelmente já olharam atentamente para um tipo de Go pelo menos uma vez, mas pensaram em mudar para ele. O chefe do curso online "Desenvolvedor Golang", Anton Telyshev (trabalhou na Mail.ru, Kaspersky Lab, Sberbank), disse por que essa ferramenta realmente justifica o hype em torno dela e quem faz sentido dominar o Go.
Olá! Eu mesmo mudei para Go de "python" e "vantagens", como alguns de meus colegas professores:
E agora quero destacar várias razões pelas quais vale a pena dominar esta linguagem.
1. Simplicidade e confiabilidade de Golang
Basicamente, você faz o tour Go, abre a especificação do idioma e vê que existem apenas 25 palavras-chave e é bastante simples.
Golang foi originalmente criado para substituir C ++. "Vantagens" podem obstruir vários gargalos, escrever códigos complexos e de alto desempenho. Mas, ao mesmo tempo, aprender C ++ é longo e difícil, especialmente entender os padrões mais recentes, e a probabilidade de "dar um tiro no próprio pé" para desenvolvedores novatos é bastante alta. Sim, em termos de desempenho, Go fica aquém em alguns lugares, mas compensa com um limite de entrada mais baixo.
2. Um software complexo e interessante é desenvolvido em Go
De acordo com minhas observações, existem agora duas tendências. A primeira é que no Go você coleta serviços que transferem JSON de um lugar para outro - isso é encontrado principalmente em grandes empresas, essas tarefas nem sempre são particularmente complexas e muitas vezes são resolvidas com ferramentas prontas escritas para você. E a segunda tendência é que Go ocupou um nicho de coisas que geralmente são escritas em C ++: um back-end produtivo, matemática, processamento de dados, lógica de negócios não trivial fundamental. Em geral, o que antes era colocado sobre os ombros de "vantagens", .Net ou Java, agora estão tentando colocar em Go. Vamos lembrar o mesmo Docker ou Kubernetes.
3. As maiores empresas estão usando cada vez mais Golang
Se você for ao HeadHunter, nas principais empresas de Go você encontrará Avito, que mudou quase completamente de PHP para Golang, OZON, que está completamente em Go, Wildberries, que funciona em C ++ / Rust e Go, bem como Joom e Mail.ru (Mail , Delivery Club, etc.). Como podemos ver, a maioria deles agora são mercados. A propósito, Mail.Ru pode ser considerado um pioneiro do Go: em certa época, o Mail foi reescrito de C to Go, e easyjson sozinho vale sua contribuição para a comunidade.
4. A tendência "reescrever para ir". Mas, ao mesmo tempo, não existem bibliotecas Go para tudo.
Como antes tudo, por exemplo, foi reescrito de Perl para Python, agora tudo está sendo reescrito de Python para Go. E embora não haja bibliotecas para tudo, você pode contribuir com a comunidade se quiser. Por exemplo, implemente algo para aprendizado de máquina ou outra biblioteca para configurar, trabalhar com imagens, etc., etc., etc. Embora existam muitas bibliotecas em Go, seu ecossistema ainda não é tão rico quanto em outras linguagens.
5. Tendência de microsserviços
Monólitos em grandes empresas começam a se desintegrar e se torna impossível oferecer suporte a grandes sistemas escritos em um idioma. Go é ótimo para criar microsserviços, portanto, a demanda por esses desenvolvedores só aumentará.
6. Os desenvolvedores são poucos e caros
Claro, esse é um argumento polêmico, porque a cada trimestre a situação muda e cada vez mais especialistas recém-formados competem pelas posições iniciais. Ainda assim, há uma tendência de que desenvolvedores Middle / Senior Go reivindiquem salários mais altos do que especialistas em outras linguagens.
Para resumir, acho que Golang é de fato uma tecnologia promissora tanto em termos de agilização do processo de desenvolvimento quanto em termos de carreira.
A única razão pela qual eu aconselharia a esperar com Go é se você o considera sua primeira língua.
O principal problema para um iniciante é que há coisas no Go que ainda são um pouco mais baixas do que no mesmo Python ou em qualquer outra linguagem interpretada. Você tem que pensar em como a memória funciona, o planejador, como não dar um tiro no próprio pé em alguns lugares - geralmente os iniciantes não sabem dessas coisas. Se você aprender, grosso modo, C ++, então poderá navegar facilmente em ponteiros, na magia da programação de baixo nível.
O mesmo acontece com o nosso curso online “Golang Developer. Profissional ”é dirigido a quem já conhece programação. Quem vem estudar pode ser dividido em três categorias:
- 3- , , , . Middle/ Senior , .
- , DevOps-, , Go. , . — Go- .
- Go- 1 , . Go, .
Tentamos tornar o curso profundo e útil, não de “capitão”. O programa de 35 webinar abrange todo o conhecimento necessário em desenvolvimento e implantação. Além disso, a cada fluxo, atualizamos os exemplos, removemos o que não é mais relevante e adicionamos tendências úteis. Há muito material para dominar - webinars, resumos, prática, avaliações de professores, literatura recomendada e artigos. Aliás, temos alunos que se reinscrevem no curso para passar por novos tópicos e consolidar conhecimentos antigos.
Nos três primeiros módulos, as tarefas práticas não estão relacionadas umas com as outras, mas sim no aluno que aprende a usar cada técnica. Nos módulos a seguir, você escreverá consistentemente seu microsserviço, que se tornará parte do portfólio.
Se você está pensando em dominar Golang, eu o convido a fazer um teste introdutório para nosso curso. As aulas começam em 27 de agosto, mas você pode entrar no grupo durante o mês de setembro. Estamos esperando por você na OTUS!