Para quem estou escrevendo? Para quem escreve em php (possivelmente também python, ruby) e já ouviu falar sobre o Go, mas ainda não decidiu estudá-lo com mais detalhes. Darei razões pelas quais vale a pena aprender essa linguagem de programação e por que o futuro está no desenvolvimento da web.
Eu escrevo php há cerca de 12 anos e é uma excelente linguagem de programação, 90% dos sites de toda a Internet estão escritos nele. Quase todos os CMS populares são escritos em PHP.
Por que mudei (ou melhor, mudei) para o Go?
Multithreading
Em princípio, tudo está claro aqui. O multithreading oferece enormes benefícios para uma linguagem de programação. No Go, o multithreading é implementado de maneira muito simples e expressiva. No próximo parágrafo, revelarei os benefícios que afetam o desenvolvimento do site.
O meio ambiente
O que eu preciso para criar um site regular em php?
Servidor no Linux, instale o Nginx, às vezes Apache, instale PHP, extensões, banco de dados, Memcache, configure o Cron. Para não causar muita dor na manutenção do servidor, coloquei tudo no Docker. É assim que meu projeto regular do Docker PHP se parece.

Isso é familiar?
O que você precisa para criar um site regular no Go?
Servidor no Linux e instale o Go. Só isso. Cool Isso ocorre porque o Go é multiencadeado e qualquer funcionalidade pode ser movida para um fluxo separado, por exemplo, um servidor web, microsserviços, filas, coroas, etc. Muitas coisas já estão implementadas em pacotes básicos.
Como é o meu projeto do Docker para Go? De fato, isso não existe. Coloquei os arquivos do Docker diretamente na pasta com o código do site ou serviço. Se o site tiver microsserviços adicionais (por exemplo, para trabalhar com filas), o Dockerfile será colocado na pasta com este serviço.

Limiar de entrada
Aprender o idioma Go é fácil. Você pode percorrer toda a documentação em algumas horas e entender o princípio do idioma sem aprofundar. Acho que o Go tem a documentação mais curta das linguagens compiladas populares.
No site oficial, você pode fazer um
tour de estudo que revelará todos os aspectos do idioma.
Aprofundar seu conhecimento teórico para os profissionais em um tempo muito curto. Eu recomendo
cursos do Mail.ru no YouTube .
Legibilidade do código
Você conseguiu abrir o código, módulo, plugin, etc. de outra pessoa? e você entende que não entende nada. E para entender os meandros, você precisa pelo menos passar pelo código principal com depuração.
No Go, na maioria dos casos, abrindo um código feroz para 200 arquivos e cada arquivo de código de toalha, você fica surpreso ao entender.
IDE
Escrever no IDE JetBrains sob PHP e Go é algo completamente diferente. O preenchimento automático funciona sempre e em qualquer lugar (99% dos casos). Você pode falhar em qualquer método, em qualquer!
Não há freios. Com palavras em geral, é difícil descrever, você precisa tentar. Quando você começa a escrever totalmente no Goland, entende que não deseja mais voltar ao PhpStorm.
No ano passado, para hylood, perguntei a Dmitry Stogov sobre os planos de introduzir multithreading "nativo" no PHP e parece que não vamos vê-lo, mas é uma pena.
Depurando e testando
Muitos desenvolvedores de PHP não usam depuração porque ela precisa ser instalada separadamente como uma extensão, também precisa ser configurada corretamente e muitos simplesmente não se incomodam e usam a saída da página. No Go, a depuração é incorporada; na verdade, você não precisa descobrir como funciona por dentro; se você usar o IDE, basta colocar um ponto de interrupção e iniciar o programa.
Com o teste, as coisas são aproximadamente as mesmas, você não precisa conectar toda a estrutura ao projeto, ele já está incorporado nos pacotes base e no IDE.
Desempenho
O Go é muito mais rápido que o PHP em termos de velocidade de execução e consumo de memória. Obviamente, compará-los não é correto, pois o Go é uma linguagem compilada. Há um bom artigo em comparação à produtividade
no Habré . Por exemplo, eu tenho um Mirkoservice em um ambiente Docker completo, que costumava ocupar 100-200 mb de RAM, alternar para Go leva 1-2 mb. O aumento da velocidade é de 2-5 vezes.
Sumário
Eu amo PHP e continuarei a escrevê-lo conforme necessário, mas o Go foi uma continuação do desenvolvimento para mim e se eu reescrevesse o PHP do zero, ele se tornaria a linguagem Go.