Logo de IMECAF - Instituto Mexicano de Contabilidad, Administración y Finanzas
INSTITUTO MEXICANO DE CONTABILIDAD, ADMINISTRACIÓN Y FINANZAS

¿Qué es un programa?

Algunas personas estamos tan acostumbradas a este término que no nos detenemos a pensar que otros, con menos experiencia en la tecnología, puedan no tener idea de lo que estamos hablando cuando decimos la palabra programa, o aplicación, o programa de software, o simplemente software.

En forma resumida, se puede decir que un programa o software es una serie de instrucciones que se utilizan para que un equipo electrónico, no necesariamente una computadora, lleve a cabo una función u operación, que tiene por objetivo lograr un resultado específico, ya sea armar una pieza de un coche, o desplegar una lista de cálculos en la pantalla de una PC, hasta hacer cosas infinitamente más sofisticadas que eso; estas directivas o instrucciones no necesariamente corren por su cuenta todo el tiempo, de manera independiente al usuario, sino que puede tener interacción, mediante hardware (un teclado, mouse, o una serie de botones en una máquina industrial), para poder elegir el camino a seguir dentro de una variedad de opciones disponibles.

Ahora, a nivel más profundo o técnico, qué es lo que constituye a un programa. Una computadora o un equipo electrónico cuenta con una serie de circuitos que pueden hacer cálculos, dependiendo, como en una calculadora, de los valores de entrada que se le den. Este circuito generalmente se conoce como CPU y opera a un nivel muy lejano de lo que normalmente vemos cuando encendemos una computadora y encontramos la pantalla llena de atractivos íconos, fotos, botones, etc. Un CPU funciona solamente a base de unos y ceros, esto es, un estado e encendido (1) o apagado (0). Parece que se está sobresimplificando el asunto, pero la verdad es ésa. Llevando esto a una escala de millones y millones de operaciones por minuto, un CPU es capaz de mostrar una gráfica animada en la pantalla, o de presentarnos un video de Youtube, o de reproducir música que se escucha tan fiel como la original.

Aunque esto es muy sofisticado desde el punto de vista general, a nivel de las operaciones que hace el CPU todo se resume a mover unos y ceros de un lado para otro, ejecutando funciones lógicas que sirven para tomar decisiones, y hacer cálculos de sumas, restas, multiplicaciones, y divisiones. Ahora, el CPU no puede llevar a cabo esta serie de procesos sofisticados o no, si alguien no le dice cuáles, cuando y cómo hacerlo. Aquí es donde entra un programa.

El CPU hace todo lo que uno quiera, pero no por su cuenta, necesita un listado o serie de instrucciones que seguir para lograr el objetivo deseado. Y eso, a resumidas cuentas, es un programa. Ahora, siendo un circuito, el CPU no puede recibir dichos comandos más que en códigos que puede entender, en lo que es denominado lenguaje de máquina. Sin embargo, este lenguaje es muy limitado en el sentido de que está reducido a solamente un conjunto de funciones disponibles, las cuales se limitan a mover un valor de un lado a otro, y a efectuar operaciones muy sencillas.

Elaborar un programa muy complejo utilizando este lenguaje directamente resultaría muy laborioso y casi imposible de hacer. Por ello, se han desarrollado los denominados lenguajes de programación, los cuales permiten a un profesional de los sistemas de cómputo, escribir un programa en términos mucho más amigables para una persona, utilizando instrucciones con nombres entendibles, al mismo tiempo que proporcionan elementos o componentes que ya constituyen en sí pequeños programas que realizan funciones ya predefinidas que el usuario no tiene que codificar o programar desde cero. De esta manera, llevándolo a la gran escala, es que un programa como puede ser un procesador de textos o un manejador de hojas de cálculo, puede ser desarrollado de una manera práctica y funcional por un grupo de expertos en el tema.

Un programa se guarda en el disco duro de una computadora o en la memoria de un equipo, como un código ejecutable, es decir, un conjunto de instrucciones ya convertidas al lenguaje que el CPU puede entender, y solamente se mandan ejecutar cuando sea necesario, mediante un comando, una tecla o con dar click al botón del mouse sobre el ícono correspondiente a dicho programa, si se habla de una PC, o presionando botones o eligiendo opciones en la pantalla de un equipo industrial.

Fuente: IMECAF