Como posso aprender a programar com o ChatGPT se tenho que começar do zero?

Explorando o ChatGPT em minha jornada de codificação de 15 anos - Indo além de apenas copiar e colar

A programação faz parte da minha vida desde os meus 10 anos de idade. Desde ajustar o código e o CSS do meu perfil no Friendster durante os primeiros dias da internet, até explorar injeções de SQL pela emoção, construir um robô de três pernas por diversão e, mais recentemente, mergulhar na programação em Python, minha jornada de programação tem sido diversificada e divertida!

Aqui está o que aprendi com diferentes abordagens de programação.

Foto de Arnold Francisca no Unsplash

A maneira como aprendo programação é sempre a mesma; Como as pessoas dizem, é basicamente só copiar e colar. 😅

Quando se trata de construir algo no mundo da programação, aqui está uma análise da minha abordagem:

  1. Selecione a estrutura ou biblioteca apropriada.
  2. Aprenda com projetos anteriores
  3. Divida em etapas
    Divida seu projeto em etapas práticas, tornando o desenvolvimento menos estressante.
  4. Pesquise cada parte no Google.
    Para cada etapa, consulte o Google/Bing/DuckDuckGo/qualquer mecanismo de busca de sua preferência para obter insights, orientações e possíveis soluções.
  5. Comece a programar
    Tente executar cada passo sistematicamente.

Entretanto, mesmo um código bem pensado pode apresentar erros. Aqui está minha estratégia de solução de problemas:

1. Verifique a documentação do Framework: Leia sempre a documentação!

2. Pesquise no Google e no Stack Overflow: Pesquise no Google e no Stack Overflow. Um exemplo de palavras-chave seria:

site:stackoverflow.com [linguagem de programação] [biblioteca] Erro [mensagem de erro]

site:stackoverflow.com Erro Python ImportError: pandas Módulo não encontrado

Soluções Stack OverflowSe o problema já existe no Stack Overflow, procuro os comentários e soluções mais votados e geralmente encontro uma resposta rápida e confiável. Esta plataforma é uma referência importante para desenvolvedores resolverem Erros do Python Rumor e a Biblioteca do Panda.
confie na minha intuiçãoQuando o Stack Overflow não tem uma resposta, confio no meu instinto de procurar fontes confiáveis ​​no Google; GeeksForGeeks, Kaggle, W3School e Towards Ciência dados Para coisas de DS 😉

3. Copie e cole a solução do código.

4. Verificação e testeA etapa final envolve examinar e testar cuidadosamente o código modificado para garantir que ele funcione conforme o esperado. Isso garante que não haja verificação de código e que o código seja testado corretamente.

 

Você resolveu o problema técnico com sucesso!

Não é lindo?

 

Mas na realidade, será que ainda estamos fazendo isso?!

Recentemente notei uma mudança na forma como novos programadores abordam a programação. Eu ensino programação profissionalmente há cerca de 3 anos, alternando entre campos de treinamento de programação, palestras em universidades e treinamentos corporativos. A maneira como os programadores abordam o aprendizado da programação mudou um pouco, com foco em Ferramentas de inteligência artificial em programação.

Geralmente aconselho os novos usuários a continuarem com o método antigo de navegar e pesquisar respostas no Google, mas as pessoas ainda acabam usando o ChatGPT. A desculpa deles é

 

“Ter o ChatGPT (para fins de programação) é como ter um colega de classe extra — falando com você como uma pessoa normal.”

É muito útil, especialmente quando você ainda está tentando entender coisas a partir de resultados de pesquisas e documentos – para desenvolver o que é chamado de “Intuição do programador".

Não me entenda mal, eu apoio o básico. Navegar, ler documentos e fazer perguntas na comunidade – essas são etapas poderosas, na minha opinião. Confiar somente no ChatGPT pode ser um pouco exagerado. Claro, ele pode preparar um resumo rápido das respostas, mas Os métodos de navegação tradicionais dão a você a liberdade de escolher e experimentar, o que é crucial no mundo da programação.

Mas tenho que dar crédito a quem merece: o ChatGPT é extremamente rápido em fornecer respostas, especialmente quando você ainda está tentando descobrir o que está certo e o que está errado nos resultados de pesquisa e documentos. O ChatGPT é uma ferramenta poderosa para acelerar o aprendizado e descobrir soluções para problemas complexos de programação.

Percebo que essa mudança para usar o ChatGPT como um parceiro de estudo não está acontecendo apenas no campo da programação. O ChatGPT revolucionou a maneira como as pessoas aprendem. Estou até usando o ChatGPT para corrigir minha gramática neste post, desculpe Grammarly.

 

Recusar-se a usar o ChatGPT é como se recusar a usar mecanismos de busca no início dos anos 2000.. Embora o ChatGPT possa apresentar vieses e erros, semelhante aos mecanismos de busca que contêm informações não confiáveis ​​ou golpes. Quando usado adequadamente, o ChatGPT pode acelerar o processo de aprendizagem.

Agora, vamos imaginar um cenário da vida real em que o ChatGPT poderia ajudar você sendo seu companheiro de programação para ajudar na depuração.

 

Cenário: Depuração de script Python

Imagine que você está trabalhando em um script Python para um projeto e encontra um erro inesperado que não consegue resolver. Este é um problema comum no desenvolvimento de software e requer habilidades avançadas de depuração.

Foi assim que aprendi a depurar antigamente — na era anterior ao ChatGPT. Esses métodos clássicos ainda são de grande valor para entender os princípios básicos da depuração.

Metodologia de navegação:

  1. Documentação:

Comece verificando a documentação do Python para o módulo ou função que está causando o erro. A documentação do Python é uma referência essencial para entender como diferentes módulos funcionam e como usá-los corretamente, ajudando você a identificar as causas dos erros e corrigi-los com eficiência.

 

Por exemplo:
- Visita https://scikit-learn.org/stable/modules/ Para documentação do Scikit Learn.

2. Pesquise no Google e no Stack Overflow:

Se a documentação não fornecer uma solução, você pode recorrer ao Google e ao Stack Overflow. Analise vários tópicos e discussões do fórum para encontrar um problema semelhante e resolvê-lo. Esses recursos são valiosos para solução de problemas na área de aprendizado de máquina.

3. Confie na sua intuição:

Se o problema for único ou não estiver bem documentado, confie nos seus instintos! Você pode explorar artigos e fontes no Google que considerou confiáveis ​​no passado e tentar adaptar soluções semelhantes ao seu problema. Essa abordagem aprimora suas habilidades de resolução de problemas técnicos.

Você pode ver que no resultado da pesquisa acima, os resultados são do W3school – (site confiável de aprendizagem de codificação, ótimo para trapacear) e os outros dois resultados são a documentação oficial do Pandas. Você pode ver que os mecanismos de busca sugerem que os usuários consultem a documentação oficial. 😉

Veja como você pode usar o ChatGPT para ajudar a solucionar um problema.

 

Uma nova abordagem com ChatGPT:

  1. Interaja com o ChatGPT em conversas:

Em vez de apenas navegar por documentos e fóruns, você pode interagir com o ChatGPT em uma conversa ao vivo. Forneça uma breve descrição do erro e faça sua pergunta. Por exemplo, você pode usar o ChatGPT para obter ajuda instantânea para entender e depurar erros comuns de programação.

 

Estou com um problema com meu script [linguagem de programação] onde [descrição do erro]. Você pode me ajudar a entender as possíveis causas desse erro e sugerir uma possível solução?

2. Esclarecendo conceitos usando ChatGPT:

Se o erro estiver relacionado a um conceito que você está tendo dificuldade para entender, peça ao ChatGPT para explicar esse conceito. Por exemplo,

 

Explique como [conceito específico] funciona em [linguagem de programação]? Acho que pode estar relacionado ao erro que estou recebendo. O erro é: [erro]

3. Peça recomendações de solução de problemas:

Você pode pedir ao ChatGPT conselhos gerais sobre solução de problemas em programas Python. Por exemplo,

 

Quais são algumas estratégias comuns para lidar com [o problema]? Alguma recomendação de ferramentas ou técnicas?

Benefícios potenciais:

  • Diretrizes personalizadas: O ChatGPT pode fornecer orientação personalizada com base nos detalhes específicos que você fornecer sobre o erro e na sua compreensão do problema. Este recurso se baseia nas capacidades do modelo de linguagem grande (LLM) do ChatGPT para fornecer assistência personalizada.
  • Esclarecimento de conceitos: Você pode solicitar explicações e esclarecimentos de conceitos diretamente do ChatGPT, aproveitando os recursos de seu grande modelo de linguagem (LLM).
  • Solucione problemas com eficiência: O ChatGPT pode fornecer dicas de solução de problemas concisas e relevantes, o que pode simplificar o processo de depuração.

Limitações potenciais:

Agora vamos falar sobre as desvantagens de confiar 100% no ChatGPT. Notei muito esses problemas na jornada dos meus alunos usando o ChatGPT. Na era pós-ChatGPT, meus alunos copiavam e colavam a mensagem de erro de uma linha da interface de linha de comando, mesmo que o erro tivesse 100 linhas e estivesse relacionado a alguns módulos e dependências. Às vezes, pedir ao ChatGPT para explicar uma solução alternativa fornecendo um código de erro de uma única linha pode funcionar, ou pior, pode adicionar uma ou duas horas de trabalho de depuração manual.

O ChatGPT tem a limitação de não conseguir ver o contexto do seu código. Claro, você sempre pode dar contexto ao seu código. Em códigos mais complexos, talvez você não consiga fornecer todas as linhas de código ao ChatGPT. O fato de que o ChatGPT vê apenas uma pequena parte do seu código, o ChatGPT ou É assumido O resto do código é baseado em sua base de conhecimento ou alucinando.

Aqui estão as possíveis limitações do uso do ChatGPT:

  • Falta de interação dinâmica em tempo real: Embora o ChatGPT forneça insights valiosos, falta-lhe a interação em tempo real e a troca dinâmica que fóruns ou tópicos de discussão podem proporcionar. No StackOverflow, você pode ter 10 pessoas diferentes sugerindo 3 soluções diferentes que você pode comparar por "faça você mesmo, experimente" ou ver o número de votos positivos.
  • Confiando no conhecimento prévio: A qualidade da resposta do ChatGPT depende das informações com as quais ele foi treinado, e ele pode não estar ciente das últimas atualizações da estrutura ou dos detalhes específicos do seu projeto.
  • Pode adicionar tempo extra para depuração: O ChatGPT não tem contexto para seu código completo, então isso pode resultar em mais tempo para depuração.
  • Compreensão limitada do conceito: Os métodos tradicionais de navegação oferecem a liberdade de escolher e experimentar um pouco, o que é crucial no mundo da programação. Se você souber escolher a fonte certa, poderá aprender mais navegando por conta própria, em vez de depender de um modelo genérico do ChatGPT.
    A menos que você pergunte a um modelo de linguagem treinado, especializado em conceitos e tecnologia de programação, artigos de pesquisa sobre assuntos de programação, palestras populares sobre aprendizado profundo de Andrew Ng ou um tuíte de Yann Le Cunn no X (antigo Twitter), o ChatGPT dará uma resposta amplamente genérica.

Este cenário demonstra como o ChatGPT pode ser uma ferramenta valiosa em seu kit de ferramentas de programação, especialmente para orientação personalizada e esclarecimento conceitual. Lembre-se de equilibrar a assistência do ChatGPT com os métodos de navegação e pergunte à comunidade, levando em consideração seus pontos fortes e limitações.

O resultado final

Recomendado para programadores: ferramentas e recursos essenciais

 

Se você realmente deseja aproveitar o modelo de preenchimento automático, em vez de usar apenas o ChatGPT, tente usar extensões do VScode para tarefas de preenchimento automático de código, como CodeGPT — Extensão GPT4 para VScodeأأو Copiloto do GitHub, ou ferramentas de preenchimento automático de IA no Google Colab. Essas ferramentas melhoram significativamente a produtividade do desenvolvedor.

Como você pode ver na captura de tela acima, o Google Colab automaticamente dá ao usuário sugestões para o próximo código.

Outra alternativa é o Github Copilot. Com o GitHub Copilot, você pode obter sugestões baseadas em IA em tempo real. O GitHub Copilot sugere a conclusão de código conforme os desenvolvedores escrevem e transforma prompts em sugestões de codificação com base no contexto do projeto e nas convenções de estilo. De acordo com isso Lançamento do GithubO Copilot Chat agora é alimentado pelo GPT-4 da OpenAI (um modelo semelhante usado pelo ChatGPT).

Eu estava usando ativamente o CodeGPT como uma extensão do VSCode antes de descobrir que o Github Copilot estava disponível gratuitamente para quem gosta de tutoriais. A CodeGPT Co recebeu 2 milhão de downloads até agora no VSCode Extension Marketplace. O CodeGPT permite integração perfeita com a API ChatGPT, Google PaLM XNUMX e Meta Llama.
Você pode obter sugestões de código por meio de comentários.Veja como:

  • Escreva um comentário solicitando um código específico.
  • Imprensa cmd + shift + i
  • Use o código 😎

Você também pode iniciar uma conversa. Através da extensão no menu e vá para as conversas de codificação 💬

Quando penso na minha jornada de programação, a lição valiosa que aprendi é que não existe uma maneira única de aprender. É essencial adotar uma variedade de métodos de aprendizagem, combinando práticas tradicionais como navegação e interação da comunidade com os recursos inovadores de ferramentas como ChatGPT e ferramentas de autocompletar código.

 

O que fazer:

  • Beneficie-se de recursos de aprendizagem personalizados: Aproveite ao máximo as recomendações de materiais de aprendizagem do ChatGPT e use-o como uma ferramenta essencial em sua jornada de aprendizado.
  • Colaborar para resolver problemas: Use o ChatGPT como um parceiro colaborativo, assim como se estivesse codificando com seus amigos, melhorando sua capacidade de enfrentar desafios de programação de forma eficaz.

Coisas a evitar:

  • Excesso de confiança no ChatGPT: Evite depender totalmente do ChatGPT e adote uma abordagem equilibrada para desenvolver habilidades independentes de resolução de problemas. Embora o ChatGPT seja uma ferramenta poderosa para entender estruturas de código e gerar ideias, confiar apenas nele pode prejudicar o desenvolvimento de habilidades de pensamento analítico e crítico, essenciais para se tornar um desenvolvedor competente.
  • Negligenciar a interação direta com a comunidade de programação: Embora o ChatGPT forneça insights valiosos, não negligencie os benefícios da interação direta e do feedback das comunidades de programação. Isso também ajuda a construir uma boa reputação na comunidade. Interagir com outros programadores oferece oportunidades de aprender com as experiências deles, trocar conhecimento e obter diferentes perspectivas sobre os desafios que você enfrenta.
  • Ignore a prática de programação prática: Orientação do Balance ChatGPT com programação prática para aprimorar o conhecimento teórico com aplicação prática. A aplicação prática é a chave para transformar conceitos teóricos em habilidades do mundo real. Tente escrever o código você mesmo, experimentar diferentes soluções e depurar. Isso ajudará você a solidificar sua compreensão de conceitos e desenvolver suas habilidades de resolução de problemas.

Conte-me nos comentários como você usa o ChatGPT para ajudar você na programação!
Boa codificação!

 

Comentários estão fechados.