Diferencia entre aplicaciones y programas informáticos.

Programa

Un programa es un código parecido a un Script donde las reglas de operación son lineales, siempre tienen un inicio y un fin para resolver un propósito especifico. Una vez resuelto ese propósito un programa termina y no se vuelve a ejecutar hasta que no sea necesario resolver otra vez un evento similar.

Los programas son como Script, iguales a un .BAT en Windows o un SH de los *NIX.

Por definición un programa siempre será de ejecución lineal con un inicio y un fin, aunque su ejecución pueda verse afectada por condiciones, como las if, do while, while y for entre otras cosas como funciones y procedimientos. Aunque la línea de ejecución se vea influida por las condiciones inevitablemente llegara a cualquier fin. Ya que puede tener muchas formas de terminar.

El programa hola mundo clásico de muchos lenguajes, es un ejemplo de programa, siempre inicia, hace su propósito el cual es escribir en pantalla hola mundo y después termina y cada que alguien lo ejecute hará exactamente lo mismo una y otra vez, eso es un programa.

#include <stdio.h>

int main ()
{
        printf (“Hola Mundo\n”);
        return 0;
}

Aplicación.

Por definición una aplicación es una herramienta que interactúa con el usuario, esta herramienta nunca llegara a su fin a menos que el usuario que la opera decida que debe cerrar dicha aplicación.

Una aplicación no tiene una línea de ejecución definida, puede ejecutar pizas de código según las necesidades del usuario que la opera y al terminar de usar esa pieza de código regresara a un estado de espera a que el usuario haga una acción que active otra pieza de código y asi. Por lo tanto una aplicación al regresar a esperar la intervención de un usuario, puede quedarse en espera indefinidamente y nunca terminara, a menos que el usuario así lo decida interviniendo para que se ejecute la pieza de código que hace llega a su fin la aplicación.

Las aplicaciones son muy comunes en entornos gráficos GUI aunque también las puede haber de consola basadas en texto. Donde una ventana que representa gráficamente la aplicación se puede quedar ahí indefinidamente sin hacer nada hasta que el usuario interviene dando click en alguna parte normalmente en algún botón, botón que desencadena una pieza de código que hace algo y una vez terminado de hacer regresa a su estado inicial esperando que el usuario intervenga otra vez

El código más básico de una aplicación es un while (true) con un switch-case anidado

El while true evitara que la aplicación termine y el case leerá eventos, ya sea de memoria, del estándar input, del reloj, de cualquier cosa que lo haga reaccionar y coincidir con un case que será la pieza de código a ejecutar.

Toda aplicación sea grafica o no, se mantiene en ese loop infinito del while (true) y es por ese motivo que no acaba nunca. Las aplicaciones son consumidoras de recursos si se mantienen abiertas por que todo el tiempo consumen un poco de procesador ya que el procesador tiene que mantener el ciclo while activo durante todo el tiempo que la aplicación está funcionando con su respectiva dosis de memoria RAM

El siguiente ejemplo es el código de una aplicación, esta aplicación nunca termina, en el mismo código esta la simulación de un usuario tecleando números como entradas, cuando el usuario teclea 1 o 2 se ejecuta el código referente a 1 o a 2 y después regresa al ciclo while para recibir más instrucciones del usuario, esta app nunca va a terminar. A menos que el usuario presione control + c en una GUI sería el equivalente a presionar el botón X de la ventana.

#include <stdio.h>

void codigo1(){

        printf (“Ejecutando codigo
1\n”);
        sleep (1);

}

void codigo2(){

        printf (“Ejecutando codigo
2\n”);
        sleep (1);

}

int main ()
{
        int input = 0;

        while (1)
        {
                 
input = rand() % 10; //Simula teclazo de usuario
                 
printf (“Opcion simulada de usuario %d\n”,input);
                 
switch ( input ) {
                 
case 1:
                 
codigo1();
                 
break;
                 
case 2:
                 
codigo2();
                 
break;
                 
}

        }
        return 0;
}

En el siguiente video esta una demostración de los códigos publicados.

Add a Comment

Comment spam protected by SpamBam