La programación imperativa es un paradigma de desarrollo de software en el que las funciones se codifican implícitamente en cada paso necesario para resolver un problema. En la programación imperativa, cada operación está codificada y el código mismo especifica cómo se va a resolver el problema, lo que significa que no se recurre a los modelos precodificados.
La programación imperativa requiere una comprensión de las funciones necesarias para resolver un problema, en lugar de depender de modelos capaces de resolverlo. El enfoque de la programación imperativa es cómo se debe resolver el problema, lo que requiere una guía detallada paso a paso. Debido a que el código escrito realiza las funciones en lugar de los modelos, el programador debe codificar cada paso. Los lenguajes de programación por procedimientos y orientada a objetos (OOP) se incluyen en la programación imperativa, como C, C ++, C # y Java.
Programación imperativa frente a programación declarativa
La programación imperativa contrasta con la programación declarativa, en la que no se define específicamente cómo se resuelve un problema, sino que se centra en lo que debe resolverse. La programación declarativa proporciona una constante para verificar para garantizar que el problema se resuelva correctamente, pero no proporciona instrucciones sobre cómo resolver el problema. La forma exacta en que se resuelve el problema viene definida por la implementación del lenguaje de programación a través de modelos. La programación declarativa también se denomina programación basada en modelos. Los lenguajes de programación funcional, de dominio específico (DSL) y lógico se ajustan a la programación declarativa, como SQL, HTML, XML y CSS.
Un ejemplo simplificado para distinguir entre un enfoque imperativo y declarativo es pensar en dar direcciones de conducción. Un enfoque imperativo proporcionaría instrucciones paso a paso sobre cómo llegar a un destino determinado. Un enfoque declarativo proporcionaría la dirección del destino, sin preocuparse por cómo se encuentra.
Los modelos a partir de los cuales la programación declarativa obtiene sus funciones se crean mediante programación imperativa. A medida que se encuentran mejores métodos para las funciones a través de la programación imperativa, se pueden empaquetar en modelos para ser invocados por la programación declarativa.