Por que você ensina ir


Fonte da imagem


Go é uma linguagem de programação relativamente jovem, mas popular. De acordo com uma pesquisa Stack Overflow, foi a Golang que ficou em terceiro lugar no ranking de linguagens de programação que os desenvolvedores gostariam de dominar. Neste artigo, tentaremos entender os motivos da popularidade do Go e também ver onde esse idioma é usado e por que vale a pena estudar.


Um pouco de história


A linguagem de programação Go foi criada pelo Google. Na verdade, seu nome completo Golang é um derivado do "idioma do Google". Apesar do fato de que no anúncio o idioma era chamado de jovem, este ano ele terá dez anos.


O objetivo dos criadores da Go era desenvolver uma linguagem de programação simples e eficaz que pudesse ser usada para criar software de alta qualidade. Rob Pike, um dos criadores do Go, disse que o Go foi projetado para programadores de empresas que concluíram recentemente seus estudos e conheciam Java, C, C ++ ou Python. Ir para eles é uma linguagem que você pode entender e se acostumar rapidamente.


Inicialmente, era uma ferramenta dentro do Google, mas com o tempo saiu das entranhas da corporação e tornou-se pública.


Benefícios linguísticos


Golang tem um grande número de vantagens, conhecidas e não tão.


Simplicidade. Na verdade, esse foi o principal objetivo de criar a linguagem e foi alcançado. O Go possui uma sintaxe bastante simples (com certas suposições), para que os aplicativos possam ser desenvolvidos mais rapidamente do que em outros idiomas. E há dois pontos interessantes.


Em primeiro lugar, Golang pode aprender rapidamente um novato completo em programação - aquele que não conhece um único idioma e só vai se tornar um desenvolvedor. Sobre o Go, podemos dizer que é quase tão simples (relativamente, é claro) quanto PHP ou mesmo Pascal, mas tão poderoso quanto C ++.


Em segundo lugar, o Go pode ser dominado por um "programador maduro", alguém que já conhece um ou mais idiomas. Na maioria das vezes, os desenvolvedores aprendem o Go depois de dominarem Python ou PHP. Além disso, alguns programadores usam com sucesso um par de Python / Go ou PHP / Go.


Um grande número de bibliotecas. Se você estiver perdendo algum recurso do Go, poderá usar uma das muitas bibliotecas e concluir a tarefa necessária. O Go tem mais uma vantagem - você pode interagir facilmente com as bibliotecas C. Existe até uma opinião de que as bibliotecas Go são invólucros para bibliotecas C.


Código de limpeza. O compilador Go mantém o código limpo. Por exemplo, variáveis ​​não utilizadas são consideradas um erro de compilação. O Go aborda a maioria dos problemas de formatação. Isso é feito, por exemplo, usando o programa gofmt ao salvar ou compilar. A formatação é corrigida automaticamente. Você pode aprender mais sobre tudo isso no tutorial Efetivo .


Digitação estática. Outra vantagem do Go, que reduz a probabilidade de um desenvolvedor cometer um erro. Sim, nos primeiros dias em que um programador, acostumado à digitação dinâmica, fica irritado ao declarar um tipo para cada variável e função, se necessário, assim como para todo o resto. Mas então fica claro que existem vantagens sólidas.


Godoc . Um utilitário que simplifica bastante o código de documentação. Uma grande vantagem do GoDoc é que ele não usa linguagens adicionais como JavaDoc, PHPDoc ou JSDoc. O utilitário usa a quantidade máxima de informações extraídas do código documentado.


Manutenção de código. É fácil de manter, graças à sua sintaxe simples e concisa. Tudo isso é um legado do Google. Como a empresa possui uma enorme quantidade de código para vários produtos de software, além de dezenas de milhares de desenvolvedores que entendem tudo isso, surge um problema de serviço. O código deve ser claro para todos que trabalham nele, bem documentado e conciso. Tudo isso é possível com o Go.


Ao mesmo tempo, não há classes em Golang (existem estruturas, struct), não há suporte para herança, o que simplifica bastante as alterações de código. Além disso, não há exceções, anotações etc.


O que você pode escrever no Go


Quase tudo, com exceção de alguns pontos (por exemplo, desenvolvimentos relacionados ao aprendizado de máquina - o Python é mais adequado aqui com otimizações de baixo nível em C / C ++ e CUDA).


Tudo o resto pode ser escrito, especialmente com relação aos serviços da web. Além disso, o Go deve desenvolver aplicativos para o usuário final e para o desenvolvimento de demônios, interface do usuário, é adequado para aplicativos e serviços de plataforma cruzada.


Demanda por golang



Com o tempo, o idioma se torna cada vez mais popular. Além das empresas presentes na figura acima, o Grupo Mail.ru, Avito, Ozon, Lamoda, BBC, Canonical e outras trabalham com a Golang.


“Decidimos escalar o negócio, é importante construirmos uma plataforma tecnológica fundamentalmente nova que garanta o rápido desenvolvimento do produto. Contamos com o Go por causa de sua velocidade e confiabilidade, e mais importante - o público de programadores que o utilizam ”, disseram os representantes da Ozon em 2018, depois que a empresa decidiu mudar para Golang.


Bem, e quanto à renda, o salário de um desenvolvedor Go no ano passado foi em média de 60 a 140 mil rublos, de acordo com o My Circle. Comparado a 2017, esse indicador aumentou 8,3%. Em 2019, é provável que o crescimento continue, pois muitas empresas precisam de desenvolvedores da Golang.


O que vem a seguir?


Golang definitivamente não vai parar de se desenvolver. A necessidade de bons especialistas que conheçam esse idioma só aumentará, portanto não será difícil encontrar um emprego para um especialista (iniciante ou profissional). Em princípio, essa afirmação também é relevante agora, pois há uma escassez constante de desenvolvedores no mercado de TI.


O Go é bom para programadores iniciantes e profissionais que já conhecem uma ou mais linguagens de programação. Quase todo programador pode aprender ou reaprender.


O artigo foi preparado em conjunto com o professor do curso de Golang no GeekBrains Sergey Kruchinin, pelo qual muitos agradecimentos a ele!

Source: https://habr.com/ru/post/pt446914/


All Articles