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.
Mi biografía se podría escribir en parte al hilo de los lenguajes de programación que he ido conociendo. Tres de ellos se encuentran también entre los primeros que se inventaron:
- PROLOG
-
En Sevilla vamos a ver a mi tío Jaime, el marido de una hermana de mi padre, mi padre y yo. Jaime ha sido ingeniero y comparte con él la afición por la informática. Ahora está con este lenguaje de programación, haciendo pruebas, jugando...
Años después me he interesado yo también.
- C
- Lo estudié en una signatura de mi primer año de la Open University. Decidí continuar con C++. (Ver C y C++, en inglés)
- Fortran (Formula Translation)
-
Lo aprendí sin dificultad el único año que cursé Físicas.