Principais conclusões
- ChatGPT oferece suporte a idiomas superior, abrangendo uma vasta gama de idiomas antigos e novos.
- ChatGPT oferece maior precisão e qualidade de código em comparação com Gemini para tarefas de codificação.
- ChatGPT é excelente em depuração, detecção de erros, reconhecimento de contexto, solução de problemas e recursos gerais de programação.
Se você estiver preso em um projeto de programação, poderá procurar uma ferramenta para ajudá-lo a debater ideias, escrever código limpo ou explicar um conceito complicado. Qual chatbot de IA você escolhe: o rápido e informativo Gemini ou o abrangente e poderoso ChatGPT?
Suporte a idiomas
Quando se trata de suporte a idiomas, o ChatGPT supera o Gemini em amplitude e proficiência. Embora o Gemini suporte oficialmente cerca de 22 linguagens de programação populares – incluindo Python, Go e TypeScript – os recursos de linguagem do ChatGPT são muito mais extensos.
Ao contrário do Gemini, o ChatGPT não possui uma lista oficial de idiomas suportados. No entanto, ele pode lidar não apenas com as linguagens populares suportadas pelo Gemini, mas também com dezenas de linguagens adicionais, desde linguagens mais recentes, como TypeScript e Go, até linguagens mais antigas, como Fortran, Pascal e BASIC.
Para testar suas capacidades de linguagem, tentei tarefas simples de codificação em linguagens como PHP, JavaScript, BASIC e C++. Tanto o Gemini quanto o ChatGPT tiveram um bom desempenho com linguagens populares, mas apenas o ChatGPT conseguiu reunir de forma convincente programas em linguagens mais antigas, como BASIC.
Precisão e qualidade do código
Você está atrasado no prazo do projeto e precisa de algum código padrão. Você pede ao ChatGPT e ao Gemini para gerar código para implementar essa funcionalidade, e ambas as ferramentas geram dezenas de linhas de código. Vitória rápida, certo?
Mas em qual código de ferramenta você pode confiar para fornecer a funcionalidade solicitada? Para comparar a precisão e a qualidade do código gerado pelos dois chatbots de IA, dei a eles uma tarefa de codificação simples para serem concluídas. Pedi ao Gemini e ao ChatGPT que gerassem um aplicativo simples de lista de tarefas usando HTML, CSS e JavaScript. Eu não forneci nenhuma cartilha; o objetivo é ver o desempenho de ambos os chatbots com informações limitadas para trabalhar.
ChatGPT (GPT-4o) produziu código funcional com uma estética “boa o suficiente”. Usando o código do ChatGPT, você pode adicionar ou excluir uma tarefa. Aqui está o que obtive depois de executar o resultado do ChatGPT no navegador:
Em seguida, pedi ao Gemini do Google que repetisse a mesma tarefa. Gemini também conseguiu gerar um aplicativo funcional de lista de tarefas. Você também poderia adicionar e excluir tarefas, mas o design geral não era tão atraente:

Realizei um segundo teste, desta vez pedindo aos dois chatbots que recriassem o feed do Twitter (X.com). ChatGPT produziu um feed de Twitter em estilo vintage com um recurso funcional de tweet. Eu poderia digitar na caixa de texto, enviar um tweet e carregá-lo dinamicamente na página. Não era o feed do Twitter que eu esperava, mas considerando que a maioria dos dados de treinamento do ChatGPT estão inundados com código legado do Twitter, os resultados são compreensíveis.

Infelizmente, nesta rodada, o Gemini do Google não foi capaz de fornecer código funcional. Ele gerou centenas de linhas de código JavaScript, mas havia muitos espaços reservados que precisavam ser preenchidos com lógica ausente. Se você estiver com pressa, esse código com muitos espaços reservados não seria particularmente útil, pois ainda exigiria um trabalho pesado de desenvolvimento. Nesses casos, pode ser mais eficiente escrever o código do zero.
Tentei algumas outras tarefas básicas de codificação e, em todos os casos, a solução do ChatGPT foi claramente a melhor opção.
Depuração e detecção de erros
Erros e bugs são como quebra-cabeças que os programadores adoram odiar. Eles vão te deixar louco, mas consertá-los é bastante satisfatório. Então, quando você encontrar bugs em seu código, você deve pedir ajuda ao Gemini ou ao ChatGPT? Pode depender do tipo de erro que você está tentando evitar.
Para decidir, dei aos dois chatbots de IA dois problemas de depuração para resolver. Primeiro, solicitei aos dois chatbots que resolvessem um erro lógico em algum código PHP simples. Erros lógicos são notoriamente mais difíceis de detectar do que erros de sintaxe porque dependem da intenção do código:

O código nesta captura de tela é executado e até produz o resultado correto em muitos casos. No entanto, apresenta vários erros lógicos que não são imediatamente aparentes; você consegue identificá-los? Pedi ajuda ao Gemini e, infelizmente, o chatbot não conseguiu detectar o erro lógico no código:

Nenhuma das três tentativas de Gêmeos para resolver o problema foi precisa. Tentei um problema semelhante há seis meses com o mesmo resultado decepcionante; parece que Gêmeos não melhorou nessa área.
Então pedi ajuda ao ChatGPT e ele imediatamente detectou o erro lógico.

Gemini também reescreveu o código para corrigir o erro:

Depois de tentar algumas outras tarefas de busca e correção de bugs, o ChatGPT foi claramente melhor no trabalho. Gêmeos não era totalmente uma causa perdida. Ele foi capaz de corrigir muitos erros de sintaxe que coloquei nele, mas lutou com erros complexos, especialmente erros lógicos.
Consciência do Contexto
Um dos maiores desafios com o uso de chatbots de IA para codificação é a sua consciência relativamente limitada do contexto. Eles podem ser capazes de criar trechos de código separados para tarefas bem definidas, mas têm dificuldade para construir a base de código para um projeto maior.
Por exemplo, digamos que você esteja criando um aplicativo web com um chatbot de IA. Você diz para ele escrever o código para sua página HTML de registro e login, e ele faz isso perfeitamente. Em seguida, você pede ao chatbot para gerar um script do lado do servidor para lidar com a lógica de login. Esta é uma tarefa simples, mas devido ao conhecimento limitado do contexto, pode acabar gerando um script de login com novas variáveis e convenções de nomenclatura que não correspondem ao restante do código.
Qual chatbot é melhor para reter o conhecimento do contexto? Dei a ambas as ferramentas a mesma tarefa de programação: um aplicativo de bate-papo que sabemos que o ChatGPT já pode construir.
Desde a chegada do GPT-4 Turbo e sua janela de contexto de 128k, a capacidade do ChatGPT de reter muito mais contexto, por um período mais longo, aumentou significativamente. Quando desenvolvi pela primeira vez um aplicativo de bate-papo com ChatGPT usando a janela de contexto 4k GPT-4, tudo correu relativamente bem, com apenas pequenos incidentes de desvio do contexto.
A recriação do mesmo projeto em novembro de 2023 com o 128k GPT-4 Turbo mostrou uma melhoria acentuada no reconhecimento do contexto. Seis meses depois, em maio de 2024, não houve qualquer mudança significativa na consciência do contexto, mas também não houve deterioração.
Infelizmente, quando experimentei o Gemini (então chamado de Bard) pela primeira vez no mesmo projeto, ele perdeu o controle do contexto do projeto e não conseguiu concluir o aplicativo. Várias rodadas de atualizações depois, testei novamente o Gemini no mesmo projeto e parece ter piorado ainda mais. Então, mais uma vez, em termos de consciência de contexto, o ChatGPT vence.
Resolução de problemas
Neste ponto, o Gemini do Google carece de vários aspectos. Mas será que finalmente conseguirá uma vitória? Vamos testar suas habilidades de resolução de problemas. Às vezes você simplesmente tem um problema, mas não tem certeza de como representá-lo programaticamente, muito menos de como resolvê-lo.
Nessas situações, chatbots como Gemini e ChatGPT podem ser úteis. Eu pedi a ambos para “Escreva um código JavaScript que conte quantas vezes uma determinada palavra aparece em um texto.“
Aqui está o resultado do Gemini do Google:

E aqui está o resultado do ChatGPT:

A princípio, ambas as abordagens parecem bastante sólidas. A abordagem de Gêmeos até parece concisa. No entanto, o código do ChatGPT adota uma abordagem mais robusta e precisa para contar ocorrências de palavras em um texto. Ele considera os limites das palavras e a distinção entre maiúsculas e minúsculas, lidando com a pontuação de maneira adequada e fornecendo resultados mais confiáveis. Mais uma vez, o ChatGPT é superior.
A abordagem do ChatGPT divide o texto de entrada em palavras de uma forma que pode lidar com todos os caracteres que não sejam palavras, como sinais de pontuação, e caracteres especiais como separadores de palavras. Enquanto isso, Gemini considera apenas os espaços em branco como separadores. Essa abordagem poderá falhar se o texto contiver sinais de pontuação ou outros caracteres que não sejam palavras dentro das palavras, ou se as palavras não estiverem separadas por caracteres de espaço em branco.
Como o Google Gemini perdeu praticamente todas as métricas que usei para comparação, decidi dar uma chance de resgate. Eu perguntei ao chatbot “O que é melhor em codificação? ChatGPT ou Gêmeos?”Aqui está sua resposta:

Parece algo com que eu concordaria parcialmente! Perguntei ao ChatGPT o que achou da avaliação e ele concordou:

Agora, embora isso pareça bastante normal, há uma reviravolta interessante aqui. Durante a maior parte do ano passado, Gemini (então Bard) sempre afirmou com segurança que poderia produzir código melhor, era mais eficiente e cometia menos erros. Aqui está uma captura de tela de um dos meus testes em novembro de 2023:

Parece que Gêmeos agora está um pouco mais autoconsciente e modesto!
Recursos de programação
Nem ChatGPT nem Gemini possuem recursos importantes exclusivos para programação. No entanto, ambos os chatbots vêm com recursos que podem melhorar significativamente a sua experiência de programação se você souber como usá-los de forma eficaz.
ChatGPT oferece uma série de recursos que podem agilizar o processo de programação ao usar o chatbot. Adições úteis como memória e GPT personalizado permitem personalizar o ChatGPT para suas necessidades específicas de programação.
Por exemplo, o recurso GPT personalizado pode ajudá-lo a criar miniversões especializadas do ChatGPT para projetos específicos, enviando arquivos relevantes. Isso torna tarefas como depuração de código, otimização e adição de novos recursos muito mais simples. No geral, comparado ao Gemini do Google, o ChatGPT inclui mais recursos que podem aprimorar sua experiência de programação.
ChatGPT está em uma liga própria
O Gemini do Google tem desfrutado de muito entusiasmo, então pode ser uma surpresa ver o quanto falta em comparação ao ChatGPT. Embora o ChatGPT claramente tenha tido uma vantagem inicial, você pode pensar que os enormes recursos do Google ajudariam a diminuir essa vantagem.
Apesar destes resultados, seria imprudente descartar o Gemini como uma ajuda de programação. Embora não seja tão poderoso quanto o ChatGPT, o Gemini ainda tem um impacto significativo e está evoluindo em um ritmo rápido.
Apoie o nosso trabalho ❤️
Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.




















