Executando verificação de segurança...
10

Usando o ChatGPT para turbinar seus estudos em programação

O que é o ChatGPT?

Segundo o próprio ChatGPT, ele se define como um modelo de linguagem treinado pela OpenAI que foi projetado para se comunicar de forma natural com os humanos em contextos de chat. Desde o seu lançamento, o ChatGPT tem sido usado em uma variedade de aplicações, incluindo chatbots para atendimento ao cliente, assistentes virtuais para dispositivos domésticos inteligentes, e plataformas de mensagens on-line. Algumas das principais vantagens do ChatGPT incluem a capacidade de compreender e responder a perguntas complexas, a flexibilidade para se adaptar a diferentes contextos de conversação, e a capacidade de manter conversas coerentes e bem-estruturadas. Em geral, o ChatGPT tem sido amplamente utilizado como uma ferramenta para melhorar a interação humano-computador e para oferecer suporte e assistência aos usuários em uma ampla variedade de tarefas e aplicações.

Como ter acesso ao ChatGPT?

Para utilizar o ChatGPT é simples:

  1. Entre em https://chat.openai.com/
  2. Crie uma conta
  3. Comece a fazer perguntas no Chat

Como utilizar o ChatGPT para estudar programação?

Você pode utilizar o ChatGPT para fazer perguntas e obter respostas sobre conceitos e técnicas de programação. Por exemplo, você aprendeu que pode iterar sobre uma lista em python usando o for, mas gostaria de aprender outras formas de iterar. Perguntando para o ChatGPT ele nos traz 4 outros métodos:

#Usando enumerate

lista = [1, 2, 3, 4, 5]

for i, item in enumerate(lista):
   print(i, item)
#Usando range
lista = [1, 2, 3, 4, 5]

for i in range(len(lista)):
   print(i, lista[i])
#Usando map
lista = [1, 2, 3, 4, 5]

for item in map(lambda x: x*2, lista):
  print(item)
#Usando while
lista = [1, 2, 3, 4, 5]

i = 0
while i < len(lista):
  print(lista[i])
  i += 1

Podemos ir mais além e perguntar quais dos métodos acima é o mais rápido sem precisar passar muitos detalhes. Isso porque o ChatGPT vai armazenando o contexto da conversa e consegue formular uma resposta baseada no conteúdo da mesma. Eis a resposta:

O método mais rápido para iterar uma lista em Python depende de vários fatores, como o tamanho da lista, o número de operações que você precisa realizar em cada iteração e o hardware do seu computador. Em geral, o método mais rápido é o laço for usando o método range(), pois ele tem uma complexidade O(n) e é implementado de forma eficiente na maioria das implementações de Python.

No entanto, é importante lembrar que a velocidade de execução não é o único critério a ser considerado na escolha de um método de iteração. A legibilidade e a facilidade de uso também são importantes e podem influenciar a escolha do método a ser usado. Por exemplo, o laço for usando o método enumerate() pode ser mais fácil de ler e entender do que o laço for usando o método range(), mesmo que seja um pouco mais lento.

Uma resposta chama outra pergunta que chama uma resposta e assim por diante e de forma involuntária você se vê engajado numa conversa muito produtiva com uma IA. Ou quem sabe até numa discussão.

Essa fluidez na conversa ajuda num ponto muito importante: Persistência. Muita gente desanima ou se sente desmotivado nos estudos quando um assunto começa a se tornar complexo. Nesse momento o ChatGPT pode fazer toda a diferença, pois na interação com o chat, você não estará aprendendo passivamente como quando você lê um livro ou assiste uma aula. Na interação com o chat, você estará participando ativamente fazendo perguntas.

O ChatGPT não substitui os livros ou aulas, mas ajuda muito você a entender conceitos, preencher lacunas de conhecimento e a avançar nos seus estudos. Uma verdadeira ferramenta para turbinar sua produtividade.

É possível utilizar o ChatGPT para encontrar soluções de problemas que você possa estar enfrentando durante seus estudos. Por exemplo, você não está conseguindo compilar seu programa em C e não sabe o motivo. Cole a mensagem de erro no ChatGPT e receba uma lista de possíveis causas que estejam causando o problema. Isso pode ajudar você a economizar um bom tempo navegando no Google em busca de uma solução.

Se você sentir que ainda não está dominando um assunto muito bem, pode pedir para o ChatGPT criar um exercício personalizado para você. Aqui um exemplo quando foi solicitado um exercício para praticar triggers e functions no Postgres.

Exercício: Crie uma trigger que verifique se o campo idade de uma tabela pessoas é maior que 18 quando um novo registro é inserido ou quando um registro existente é atualizado. Se a idade for maior que 18, a trigger deve inserir a data atual no campo data_maior_idade da tabela pessoas. Caso contrário, o campo data_maior_idade deve ser definido como null.

Outra grande utilidade do chatGPT é a ajuda na refatoração de código. Quando foi solicitado ao chatGPT a refatoração da seguinte função em python:

def soma_idades(a, b):
    c = a+b
    return c

O resultado foi este:

def calcular_soma_idades(idade_a, idade_b):
    return idade_a + idade_b

Além de remover uma linha que não era necessária, ele renomeou a função e os argumentos de forma mais adequada alinhado com princípios de clean code.

Importante

Nem tudo é perfeito. Algumas respostas do ChatGPT podem estar erradas ou imprecisas, principalmente se você está procurando por código ou comandos prontos. Por isso é importante buscar entender o que o ChatGPT está fazendo e não só copiar e colar o código.

Conclusão

O ChatGPT pode ser uma ferramenta poderosa quando usada para os estudos. Para finalizar deixo aqui a mensagem que a própria ferramenta enviou quando a informei que estava escrevendo este artigo:

A minha mensagem para os leitores seria para explorarem todas as possibilidades que o chatGPT oferece no processo de aprendizado de programação. O chatGPT é uma ferramenta muito poderosa e versátil, que pode ajudá-los a praticar e aprofundar seus conhecimentos em diferentes linguagens de programação. Além disso, recomendo que eles aproveitem a oportunidade de conversar com um modelo de linguagem treinado por OpenAI, como eu, para obter ajuda e orientação ao longo do caminho. Nunca deixem de perguntar e de buscar novas formas de aprender! ChatGPT (2022)

Carregando publicação patrocinada...
3

Top esse tópico parabéns. Usei alguns exemplo também e voilà deu certo. Segue o teste abaixo:

var lista = [1,2,3,4,5,6,7,8,9,10];
var soma = 0;
for(var i = 0; i < lista.length; i++) {
    soma += lista[i];
}
return soma;

Resultado OpenAI:

This code defines an array called lista containing the numbers from 1 to 10, and a variable soma initialized to 0. It then uses a for loop to iterate over the elements of the lista array and add them to the soma variable. The loop continues until the counter i reaches the length of the lista array.

At the end of the loop, the soma variable will contain the sum of all the elements in the lista array. The function returns this value.

If you were to call this function, it would return the value 55 (which is the sum of all the numbers from 1 to 10).

Outro exemplo com cálculo de média

var lista = [1,2,3,4,5,6,7,8,9,10];
var soma = 0;
for(var i = 0; i < lista.length; i++) {
    soma += lista[i];
}
media = soma/lista.length
return media;

Resultado OpenAI:

This code is similar to the previous example, but it adds an additional step to calculate the average of the values in the lista array.

The soma variable is calculated in the same way as before, by adding up all the values in the lista array using a for loop. Then, the average is calculated by dividing the sum by the length of the array using the arr.length property. Finally, the average is returned by the function.

If you were to call this function, it would return the value 5.5, which is the average of the numbers from 1 to 10.

2
2
2
2
1
2

Eu n tinha testado essa IA ainda, eu estou embasbacadamente perplexo, serio eh muiiiito incrivel, chegou a me deixar um pouco assustado pelo nivel de explicacao q a I.A devolve, eu pedi um exemplo de pytest, assim q terminou eu pedi pra fazer outro exemplo mas eu n especifiquei eu soh disse "do another example" e ele me trouxe outro exemplo.
Cara genial esse projeto.

1
2

Meu Deus, cara. Estou extasiado com isso!!!

Eu acabei de fazer uma pergunta neste comentário sobre uma dúvida técnica e logo em seguida vi seu post. Óbvio que decidi testar. A resposta foi surpreendentemente esclarecedora e, apesar de ser uma dúvida relativamente simples, na pesquisa que fiz hoje (aproximadamente 30 min de Google) não encontrei algo tão didático e explicativo. A resposta dela:

Para criar um banco de dados MySQL com base no valor de uma variável em um shell script, você pode usar a substituição de variável em uma string.

Por exemplo, se você tiver uma variável $dbtitle que contém o título do banco de dados que deseja criar, você pode usá-la assim:

dbname="${dbtitle}_db"
mysql -u username -p password -e "CREATE DATABASE $dbname;"

Isso criará um banco de dados com um nome baseado no valor da $dbtitlevariável, acrescentando "_db" ao final do título.

Você também pode usar a substituição de variável para especificar o nome do banco de dados em outras instruções do MySQL, como USE ou DROP, de maneira semelhante.

É importante observar que a substituição de variável dentro de uma string deve ser colocada entre aspas duplas (") em vez de aspas simples (') para permitir que a variável seja expandida. Se você usar aspas simples, a variável não será expandida e o valor literal da variável será usado em seu lugar.

Por exemplo, o comando a seguir criará um banco de dados com o nome ${dbtitle}_db, literalmente:

dbname='${dbtitle}_db'
mysql -u username -p password -e "CREATE DATABASE $dbname;"
dbname='${dbtitle}_db'

Ps: inclusive, esse exemplo do final era o que estava acontecendo por aqui!!!🤣🤣🤣

Cara, estou inpressionado. Fui ajudado por uma máquina. Obrigado pela valiosíssima dica!

1
2

Muito bom guia! O uso do markdown e escrita clara ajudam muito na hora de aprender o "passo a passo" da coisa, muito relevante seu post! obrigado.

1
1
1
1

Sim, já deixei uma observação ali no artigo.
Porém se analisarmos bem, tem muita resposta errada no stackoverflow tbm. A diferença é que lá conseguimos ver as respostas com as melhores avaliações