====== IA Generativa Auxiliando a Programação ====== Este é o material utilizado na palestra ministrada em 27/04/2024 no FLISOL RJ. ===== Quem sou eu? ===== ++++ >>>>>> | * Engenheiro eletrônico pela UFRJ - 1995; * Atuando como analista de sistemas desde - 1993; * Programo desde os 10 anos - 1982; * Entusiasta do software livre - 1992; * Ex-empresário - 1997-2006; * Fotógrafo, maker, fixer, youtuber * Mantenho um blog de fotos 360 (https://cartola.org/360); * Canal no youtube (https://youtube.com/carloscartola); * Grupo no face (https://facebook.com/groups/fotografiapanoramica); * PanoFórum (https://www.panoforum.com.br). ++++ ===== Motivação ===== ++++ >>>>>> | * Compartilhar conhecimento; * Aprender. "Feliz aquele que transfere o que sabe e aprende o que ensina." - Cora Coralina ++++ ===== A evolução das IAs ===== ++++ >>>>>> | * Aumento da disponibilidade de dados; * Aprimoramento do hardware; * Avanços algorítmicos; * LLMs! Na programação: * Automação de tarefas repetitivas; * Geração de código; * Depuração e testes; * Aprendizado; * Análise de código; * Exemplo de análise (fora daqui) ++++ ===== O programador será substituído pela IA? ===== ++++ >>>>>> | * Não! (ou falta tempo pra isso ainda) Problemas de uso de IA: * Alucinações * Erros de sintaxe * Código incorreto * Erro de lógica * Falta de generalização de aprendizado * Viés e discriminação, ética * Limitações no entendimento e na geração * Em geral requer expertise ++++ ===== Minha experiência ===== ++++ >>>>>> | Melhor com linguagens mais comuns * Melhor: Python, HTML, Javascript, CSS * No meio: bash, ansible * Pior (com farta vantagem): krpano Recomendações: * Use o contexto * Divida para conquistar * Comece de onde precisar (pergunte que linguagem usar, como montar o ambiente, como rodar, etc) * PEÇA para dividir e como dividir melhor, para conquistar * Use RAG ++++ ===== Exemplo prático! ===== Bora botar a mão na massa!