Programación imperativa
La programación imperativa es uno de los paradigmas más antiguos y fundamentales en informática. Su enfoque se basa en dar órdenes explícitas a la computadora sobre cómo realizar una tarea, describiendo paso a paso los cambios en el estado del programa.
El programa se concibe como una secuencia de instrucciones que modifican el estado de la memoria. El programador debe especificar exactamente cómo se debe lograr el resultado.
Algunos lenguajes que siguen (o pueden seguir) este paradigma son C, C++, Python, Java, JavaScirpt, TypeScript, PHP, Ruby, Go, Kotlin, Swift, C#, Pascal, Fortran y BASIC.
Un ejemplo escrito en C sería el siguiente:
#include <stdio.h>
int main() {
int suma = 0;
suma = suma + 7;
printf("La suma es: %d\n", suma);
return 0;
}
Características
- Variables y asignaciones: Se usan para almacenar y actualizar datos. Por ejemplo,
int x = 5;yx = x + 2;. - Estructuras de control: Condicionales (
if,else) y bucles (for,while) determinan el flujo de ejecución. - Efectos secundarios: Las operaciones cambian el estado del sistema o de las variables.
- Secuencialidad: El orden de las instrucciones importa; cada paso se ejecuta en el orden especificado.
Ventajas
- Permite un control preciso y detallado sobre cómo se ejecuta el programa.
- Es intuitivo para tareas sencillas y procedimientos lineales.
- La mayoría de los lenguajes de programación clásicos son imperativos, por lo que hay mucha documentación y ejemplos disponibles.
Desventajas
- Puede ser menos modular y más difícil de mantener en programas grandes.
- El seguimiento del estado y los efectos secundarios puede generar errores complicados.
- Menos adecuado para la programación concurrente o paralela sin técnicas adicionales.