La vida del hombre primitivo transcurría en una continua improvisación y espontaneidad. Según nos hemos ido modernizando determinados comportamientos y reacciones se han fijado, codificado, regulado...
Programación
En la vida diaria, un programa es una secuencia de pasos o acciones. Seleccionamos determinado programa de lavado de la lavadora y ésta ejecuta una serie de acciones en el tiempo: se abren y cierran válvulas, se bloquea o desbloquea la puerta etc.
A veces un programa consta de información pura, como una receta de cocina, y no está grabado en un aparato. Si está grabado en un robot de cocina, la receta constituye más bien un programa
, aunque el resultado se acerque mucho a cómo cocina una persona.
A veces los organismos establecen protocolos, es decir, modos de reaccionar ante determinadas situaciones: catástrofes, enfermedades, delitos etc. En realidad estos protocolos son una forma de programa. (Lo cuál no obsta para que el significado más popular de protocolo sea el de una especie de ritual que se representa en situaciones oficiales.)
Estructuras características de un programa
Un programa combina algunas de las siguientes estructuras:
- secuencia: una sucesión temporal de pasos, tal vez la estructura de progama más sencillo
-
condición: algunos pasos se ejecutan si se cumplen determinadas condiciones, por ejemplo
Si está lloviendo: encienda las luces de posición.
-
composición: consiste en componer o combinar varias estructuras, por ejemplo:
Si el motor echa humo: (1) aparque en el arcén, y (2) apague el motor
Programas informáticos
Un programa informático es un tipo de programa caracterizado por su mayor complejidad gracias a la velocidad y fiabilidad de los actuales ordenadores digitales. Como poco podrá contener alguna de las estructuras generales explicadas anteriormente.
Muchos programas informáticos y muchos lenguajes de programación utilizan profusamente variables, una especie de nombres propios de valores, como por ejemplo:
Sea altura = 185
o simplemente (como cuando resolvemos un problema o hacemos un cálculo):
altura = 185
En cierto sentido hemos añadido una cuarta estructura, la de asignar valores a variables o memoria o estado interno.
Por fiabilidad entiendo la capacidad de no equivocarse, o equivocarse sólo de manera predecible y coherente, como cuando revienta la fuente de alimentación y perdemos toda la información no salvada.
Esto es sólo el principio. Si nos limitamos a estas cuatro estructuras probablemente acabemos escriendo en lenguaje ensamblador, para ser exactos en un lenguaje ensamblador específico de nuestro modelo de ordenador, de lo más trabajoso les puedo asegurar.
Lenguajes de programación
Los ingenieros en seguida inventaron lenguajes informáticos de alto nivel, es decir más sencillos y expresivos.