La programación imperativa es un método utilizado por los programadores de computadoras. Las declaraciones que se utilizan en este tipo de programación dan órdenes a la computadora para las acciones que se deben seguir. Esto es lo opuesto a la programación declarativa, que se usa para decirle a la computadora lo que debe hacerse sin dar detalles de cómo se deben tomar las acciones.
La programación imperativa se llamó así basándose en el modo imperativo utilizado en los lenguajes naturales frente a los lenguajes construidos, como los lenguajes de programación de computadoras. Durante la comunicación, el tiempo imperativo se usa para dar una orden directa a alguien. Estos comandos suelen exigir una acción particular de la audiencia que recibe el mensaje. El resultado de comando-acción del modo imperativo es la misma forma en que este tipo de programación funciona con computadoras.
En algunos casos, este método de programación también se conoce como programación procedimental. La programación por procedimientos se refiere al hecho de que este tipo de programación de computadoras proporciona procedimientos a seguir para que las computadoras puedan construir y ejecutar un programa. Los procedimientos también se denominan subrutinas o funciones.
Ya desde la década de 1950, se ha utilizado la programación imperativa. FORTRAN es uno de los primeros ejemplos de un lenguaje de programación imperativo. Al desarrollar FORTRAN, así como versiones más complejas de este tipo de programación, los programadores de computadoras pudieron crear programas mucho más intrincados en comparación con lo que inicialmente podían hacer usando solo el código de máquina de la computadora en la que estaban trabajando. Esto, a su vez, ha permitido que las computadoras evolucionen para que puedan crear y ejecutar aplicaciones mucho más avanzadas.
Con el tiempo, los lenguajes de programación imperativos se han vuelto cada vez más sofisticados. Las variables, expresiones, funciones y subprogramas son ahora parte de un programa escrito usando programación imperativa. Los lenguajes modernos incluyen aquellos que siguen la programación orientada a objetos. La programación orientada a objetos utiliza objetos para diseñar y compilar programas y aplicaciones de computadora. Un objeto es cualquier cosa que pueda manipularse ejecutando un programa de computadora, que incluye variables, funciones, valores y estructuras de datos.
La programación declarativa es la forma opuesta a la programación imperativa. Cuando los programadores de computadoras usan programación declarativa, están describiendo lo que quieren que suceda o los resultados deseados de ejecutar su programa. Aunque se dan los resultados, el proceso para llegar a esas alertas no lo es. El hecho de que no se proporcionen procedimientos paso a paso es la diferencia clave entre la programación declarativa y la programación imperativa.