Programação Imperativa é um paradigma de desenvolvimento de software onde as funções são implicitamente codificadas em cada passo necessário para resolver um problema. Em programação imperativa, cada operação é codificada e o próprio código especifica como o problema deve ser resolvido, o que significa que modelos pré-codificados não são chamados em.
Programação imperativa requer uma compreensão das funções necessárias para resolver um problema, ao invés de uma dependência de modelos que são capazes de resolvê-lo. O foco da programação imperativa é como o problema deve ser resolvido, o que requer um guia detalhado passo-a-passo. Como o código escrito executa as funções em vez dos modelos, o programador deve codificar cada passo. As linguagens de programação procedimental e orientada a objetos (OOP) enquadram-se na programação imperativa, como C, C++, C# e Java.
Programação imperativa vs. programação declarativa
Programação imperativa contrasta com programação declarativa, na qual a forma como um problema é resolvido não é especificamente definida, mas sim focada no que precisa ser resolvido. A programação declarativa fornece uma constante para verificar se o problema é resolvido corretamente, mas não fornece instruções sobre como resolver o problema. A maneira exata de resolver o problema é definida pela implementação da linguagem de programação através de modelos. A programação declarativa também é chamada de programação baseada em modelos. Linguagens de programação funcional, específica do domínio (DSL) e lógica se encaixam na programação declarativa, como SQL, HTML, XML e CSS.
Um exemplo simplificado para distinguir entre uma abordagem imperativa e declarativa é pensar em dar direções de direção. Uma abordagem imperativa forneceria instruções passo a passo sobre como chegar a um determinado destino. Uma abordagem declarativa forneceria o endereço do destino, sem preocupação sobre como ele é encontrado.
Os modelos a partir dos quais a programação declarativa obtém suas funções são criados através da programação imperativa. Como melhores métodos para funções são encontrados através de programação imperativa, eles podem ser empacotados em modelos a serem chamados pela programação declarativa.