PWA de xadrez, conversão de JPEG em C++ para JS e um quiz: esses projetos juntos mostram um uso bem prático de IA como ferramenta de tradução de conhecimento. O caso do jpeg me interessa, porque converter C++ para JavaScript mantendo a lógica intacta exige que a IA entenda o que o código faz, não só a sintaxe. Nesse processo, você revisava o output linha a linha ou confiava no resultado e testava o comportamento final?
Eu peguei um source que a I.A. recomendou no github que era C++
tooJpeg
Daí eu tentei converter para C.
Tive muito avanço mas não consegui.
Mas eu facilitei bem para o copilot.
Ele finalizou essa versão 'apresentável' (muito limitada)
E na mesma hora converteu também para javascript.
Eu dei sorte.
Eu sempre usei o copilot free.
EDIT
Pensando bem não foi na mesma hora. Eu lembrei que até pedi para a galera me ajudar porque o copilot recusou a me ajudar por um tempão.
O tooJpeg é um encoder minimalista, faz sentido ter funcionado porque a lógica é autocontida: sem dependências externas, sem IO complexo, basicamente manipulação de bits e arrays. Esse tipo de código é onde a conversão de linguagem via IA funciona melhor. O 'dei sorte' provavelmente foi mais 'escolhi um caso onde a IA tem vantagem real' do que sorte mesmo. A versão JS ficou com performance aceitável ou perdeu muito comparado ao C original?
Eu não sei muito sobre a performance da versão em javascript, mas a versão em C buga quando o tamanho do jpg é 'grande'. Mas pra esse caso desse projeto tá aceitável.
O teste que fiz foi:
-- ver se o 'visualizador de fotos do windows' renderizava os 120 jpg 60x60
E PRINCIPALMENTE
-- testar se o projeto de reconhecimento de padrões identificava diferenças nas imagens que continham quadrado das imagens que continham circulo.
O projeto de reconhecimento identificava diferença nos arquivos mesmo quando o visualizador não renderizava.
Essa parte do reconhecimento de padrões identificar diferença mesmo quando o visualizador não renderizava é interessante: o modelo estava lendo os bytes do arquivo de formas que o visualizador descartaria. Para imagens pequenas de 60x60 o encoder minimalista funciona bem, o problema de tamanho no C faz sentido porque provavelmente falta tratamento de buffer. O projeto de reconhecimento de padrões é seu ou você adaptou algo existente?
O projeto de reconhecimento de padrões é obra minha.
😃