- Programación imperativa
-
La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación 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.
La implementación de hardware de la mayoría de 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 implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas 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; cada paso es una instrucción, y el mundo físico guarda el estado (Zoom).
Los primeros lenguajes imperativos fueron los lenguajes de máquina de los computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil, pero obstruyendo la creación de programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954 por John Backus en IBM, fue el primer gran lenguaje de programación en superar los obstáculos presentados por el código de máquina en la creación de programas complejos.
Contenido
Algunos lenguajes imperativos
Críticas
Se ha dicho que el estilo de programación imperativa, al permitir y depender de efectos colaterales, como el uso de variables globales, dificulta notablemente la depuración y la paralelización (la habilidad para dividir el trabajo en muchos hilos de ejecución concurrente), en contraposición a los lenguajes funcionales puros, que se basan en el cálculo lambda en lugar de la Máquina de Turing.[1]
Véase también
- Programación
- Lenguajes de programación
- Paradigma de programación
- Programación funcional
- Programación declarativa
Referencias
Categorías:- Paradigmas de programación
- Programación Imperativa
Wikimedia foundation. 2010.