Architecture Decision Record

Active theme: Light

← Exemplos de registros de decisão

Registro de decisão de arquitetura: linguagem de programação Go

Título: adoção da linguagem de programação Go

Estado: aceito

Contexto

Nossa organização vem usando principalmente a linguagem de programação Java para construir aplicações web. No entanto, estamos enfrentando alguns desafios devido à verbosidade do Java e à complexidade de alguns frameworks. Além disso, nossa equipe demonstrou interesse em explorar linguagens de programação modernas para um desenvolvimento mais eficiente e robusto. Após pesquisar, identificamos o Go como uma possível solução para os problemas que enfrentamos com o Java.

Decisão

Adotaremos a linguagem de programação Go para construir aplicações web daqui em diante.

Justificativa

  1. Simplicidade e legibilidade: o Go é conhecido por sua simplicidade e sintaxe concisa. Isso facilita ler e escrever código, reduzindo a complexidade do nosso processo de desenvolvimento.

  2. Alto desempenho e escalabilidade: o Go é compilado em código de máquina que roda nativamente no servidor. Isso resulta em tempos de execução mais rápidos e melhor desempenho em comparação com linguagens interpretadas como o Java. Além disso, o modelo de concorrência do Go trata várias requisições simultaneamente, tornando-o altamente escalável.

  3. Forte apoio da comunidade: o Go tem uma comunidade vibrante de desenvolvedores que contribuíram para o seu crescimento ao longo dos anos. Isso significa que há muitos recursos, bibliotecas e frameworks para nos ajudar a começar e a construir aplicações robustas.

  4. Flexibilidade: o Go pode ser usado tanto no desenvolvimento de front-end quanto de back-end. Isso significa que podemos aproveitar suas vantagens nas duas áreas em nossos projetos de desenvolvimento.

Implicações

  1. Treinamento: nossos desenvolvedores precisarão passar por treinamento para aprender a linguagem de programação Go e suas nuances.

  2. Experiência: podemos enfrentar alguns desafios na transição do Java para o Go. Pode levar algum tempo até que nossos desenvolvedores se tornem proficientes na nova linguagem.

  3. Ferramentas: precisaremos adotar novas ferramentas e frameworks específicos do Go. No entanto, podemos aproveitar a infraestrutura existente para minimizar o impacto dessa mudança.

  4. Dependência de fornecedor: o Go é uma linguagem de programação de código aberto, e não ficaremos presos a nenhum fornecedor ou provedor de serviços.

Conclusão

A adoção da linguagem de programação Go nos ajudará a melhorar nosso processo de desenvolvimento e a construir aplicações robustas. Precisaremos investir recursos em treinamento e ferramentas para apoiar essa transição, mas acreditamos que os benefícios dessa decisão superam os custos.

Crédito: esta página foi gerada pelo ChatGPT e depois editada quanto à clareza e ao formato.