O que é codificação / programação automática?
Codificação / programação automática é a codificação gerada automaticamente por outro programa com base nas especificações fornecidas. No verdadeiro sentido da palavra, é código de escrita de código. Na verdade, você poderia teoricamente ter um código que escreve código que escreve código que escreve código! Isso pode soar muito técnico, mas você viu exemplos desse tipo de programação em sua vida diária. Se você usou o Microsoft Excel ou o Access, já o viu em ação.
Esse tipo de programação é na verdade a base da inteligência artificial e, embora isso possa parecer assustador para o programador iniciante, as bases não precisam ser tão intimidantes. A programação / codificação automática começou quase com o advento do próprio computador; assim que as primeiras linhas complexas de código foram escritas, as pessoas começaram a pensar em como o código poderia escrever código.
Na década de 1950, os pesquisadores desenvolveram sistemas que completavam tarefas automáticas com base em um conjunto formal de regras. Então, em 1969, foi desenvolvida uma técnica chamada síntese dedutiva, que cria programas de computador automaticamente. Essa palavra que soa complexa pode ser pensada da seguinte maneira: o computador desempenha o papel de detetive, ‘deduzindo’ regras e tarefas e, em seguida, executando essas regras até que um programa seja desenvolvido (a ‘síntese’).
Nos primórdios dos computadores, pensava-se que a programação automática pudesse substituir o programador humano na equação de geração de software. Felizmente para os programadores, isso estava longe da verdade; ainda precisamos de profissionais para interpretar os projetos do usuário final e criar uma estrutura para desenvolver uma solução. Também há um benefício para os usuários finais: as ferramentas criadas com codificação automática geralmente exigem muito menos manutenção do programador e permitem que os usuários configurem e mantenham o software sem um conhecimento profundo de programação. Isso libera o programador para projetar e desenvolver soluções muito mais complicadas.
Exemplos
Compiladores e geradores de código-fonte
Programar com linguagens como C ++, Visual Basic, COBOL, etc., requer o uso de um compilador para traduzir o código de alto nível em linguagem de nível de máquina. Os compiladores pegam as instruções e escrevem um programa de computador que a máquina pode entender e, então, a máquina realiza as tarefas definidas pelo programador humano. Embora a maioria dos programadores hoje não considere os compiladores como uma programação automática, quando eles foram usados pela primeira vez, o termo era apropriado.
Por meio de ambientes de desenvolvimento integrados, como o Google / MIT App Inventor, os usuários só precisam arrastar e soltar as funções onde desejarem. Uma função em um programa de computador é uma seção nomeada do programa que executa uma instrução específica, por exemplo, a função goGetBreadFromStore () realizaria a tarefa ‘obter pão’ quando executada. Os conectores entre goGetBreadFromStore () e buyOnlyWheat () podem ser facilmente colocados entre as duas funções. Nos bastidores, um gerador de código-fonte cria o código de programação para o fluxo. O usuário não precisa saber nenhuma linguagem de programação de computador ou digitar qualquer código.
Microsoft Access / Excel
Embora grande parte da programação automática e inteligência artificial mais recente possa parecer futurística, pense em bancos de dados comuns ou aplicativos de planilha como o Access e o Excel. Eles usam a programação automática para permitir que não-programadores construam aplicativos de negócios que usam bancos de dados, gráficos e relatórios e conduzam cálculos muito complicados.
Programação Genética
Um tipo de programação automática que é usado fora da computação é chamado de programação genética. O nome programação genética é baseado no conceito de que o código gerado automaticamente é capaz de mudar dinamicamente (os programadores realmente usam o termo ‘mutação’) durante o processamento. Assim, novos programas e soluções podem ser gerados a partir de um único programa – pense em pais com dois ou mais filhos. O programa de computador é o pai e os programas descendentes são os filhos; eles são semelhantes, mas não são soluções exclusivas para problemas.
Os passos básicos são: gerar programas iniciais, executar cada programa e atribuir a ele um valor de adequação , uma classificação numérica que mostra o quão bem uma determinada solução poderia resolver o problema. O computador então cria um novo conjunto de programas, copia esses programas e sofre mutação. Isso continua até que o problema seja resolvido.
Pode soar como ficção científica, uma vez que, após o design inicial, o programador está sem mãos e o código está praticamente escrevendo sozinho. Mas um exemplo do mundo real pode ajudar a nos levar do reino do ‘e se’ para uma solução prática.
Pense em um carro que dirige sozinho: não há um conjunto específico de regras que possa ser definido para um carro ser dirigido por uma máquina. Usando a programação genética, pode-se desenvolver uma solução de autocódigo que lida com um problema com variáveis e situações em constante mudança. E embora muitos de nós zombássemos da ideia de carros autônomos no passado, eles se tornaram uma realidade. A programação automática e a inteligência artificial eliminaram a ficção científica.
Na verdade, o futuro já está aqui:
![]() |
Resumo da lição
O código que escreve código, antes um conceito futurista, tornou-se uma realidade na programação de computadores. Esta lição cobriu os fundamentos da codificação / programação automática e como programas podem ser escritos para escrever outros programas. Vimos exemplos do mundo real, incluindo software do dia a dia e carros autônomos. À medida que a programação de computadores continua a avançar, a inteligência artificial e os programas de auto-escrita só aumentarão em uso e alcance.