O que é programação automática?
A programação automática em ciência da computação e engenharia de computação refere-se à produção de código de programação de computador por algum sistema ou software em resposta a entradas ou comandos mais abstratos do usuário. Em um sentido, a programação automática descreve qualquer situação em que um computador ou software substitua uma instrução inserida por um programador por um bloco de código que pode executar concretamente as ações descritas na instrução. Quando usada em outro sentido, a programação automática pode descrever o objetivo de criar uma linguagem ou sistema de programação que possa montar intuitivamente um aplicativo completo com base apenas na menor direção do programador. A programação automática pode ser usada em alguns campos de pesquisa de computador para se referir ao processo de projetar um sistema de inteligência artificial (IA) capaz de produzir autonomamente um programa para concluir uma tarefa ou modificar seu próprio código para melhorar a funcionalidade.
A definição de programação automática é um tanto vaga. Ele foi originalmente usado durante os primeiros anos da programação de computadores para descrever a tradução de instruções abstratas da linguagem assembly em código de máquina expandido. Isso foi chamado de programação automática porque o compilador substituiria automaticamente uma única instrução legível por dezenas ou mais instruções de código de máquina, essencialmente escrevendo automaticamente o programa de maneira primitiva. As mesmas ações ainda são executadas pelos compiladores de linguagem na maioria dos casos, independentemente da linguagem de programação de sobreposição usada.
Outro uso para o termo "programação automática" é descrever a geração automatizada de código. É quando um ambiente de desenvolvimento integrado (IDE) ou outra ferramenta pode ser usada visualmente, ou de alguma maneira muito fácil, para especificar como um usuário final veria um programa. Depois que o resultado desejado é criado, o software ou o IDE podem produzir automaticamente o código fonte funcional para atingir o resultado sem nenhuma entrada adicional do programador.
Em alguns casos, a programação automática também se refere ao estudo de como implementar linguagens em um nível tão alto que o código fonte se parece com a linguagem natural. Uma linguagem de programação como essa produziria automaticamente o aplicativo com base na ampla entrada do programador. Não importa o quão automática uma linguagem se torne, no entanto, deve-se notar que o programador precisa, em algum momento, modificar manualmente o código para funcionalidade específica usando a própria linguagem de programação.
No campo da inteligência artificial, são realizadas algumas pesquisas sobre o desenvolvimento de um sistema que pode se programar automaticamente para adicionar recursos que originalmente não foram fornecidos. Isso também se estende às IAs capazes de escrever software independente que pode resolver um problema específico. Uma aplicação seria criar uma linguagem de programação que pudesse usar a IA para gerar protótipos rápidos de programas.