Programación imperativa

La programación imperativa es uno de los paradigmas de programación de computadoras más generales, que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea, de la misma manera que el modo imperativo en los lenguajes naturales humanos le dice qué hacer al interlocutor. Esto existe en contraposición al paradigma de programación declarativa, que se basa en describir el problema o solución sin hacer referencia a un algoritmo. Las recetas de cocina y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; donde cada paso es una instrucción.

Programación imperativa y hardware

La implementación de hardware de la mayoría de los computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores puede modelarse como una máquina de Turing, o alguna otra forma de máquina abstracta que modifica su memoria o estado interno conforme sigue los pasos de un programa. Desde esta perspectiva de bajo nivel, la semántica del programa en cualquier momento está definida por los contenidos previos de la memoria, los datos de entrada y las instrucciones en el lenguaje de máquina nativo del computador.

Este paralelismo entre el paradigma imperativo y los objetos físicos que terminan realizando los cálculos significa que todo programa, así esté escrito en un lenguaje de alto nivel o incluso en uno completamente declarativo, eventualmente debe ser transformado a código máquina imperativo para tener efecto.

Other Languages
العربية: برمجة أمرية
беларуская (тарашкевіца)‎: Імпэратыўнае праграмаваньне
srpskohrvatski / српскохрватски: Imperativno programiranje