Un programma funzionante secondo lo schema lineare prevede:
- un’inizializzazione, durante la quale è possibile dichiarare
delle variabili, preparare lo schermo, aprire dei files,…;
- un loop, che contiene la parte fondamentale del programma,
comprendente le istruzioni in grado di risolvere il problema
in base ai dati disponibili;
- una terminazione, che rappresenta un ripristino del sistema.
In questo ambito le istruzioni vengono eseguite sequenzialmente
una dopo l’altra, così come scritte dal programmatore.
Ciò significa che se in un ramo di un programma una generica istruzione
A è scritta prima di una generica istruzione B, durante l’esecuzione
del programma A sarà sempre eseguita prima di B.
Nella programmazione ad eventi questo non accade.
Non viene infatti redatto un sorgente costituito da una sequenza
di istruzioni; ciò che si scrive sono invece dei blocchi di istruzioni
che saranno svolte quando si verificherà l’evento ad esse
collegato.
In quest’ottica, il programmatore specifica che l’istruzione
generica A è associata, ad esempio, all’evento 1, mentre
la generica istruzione B all’evento 2.
Se durante l’esecuzione l’evento 1 si verifica prima
del 2 allora A viene svolta prima di B, mentre se l’evento
2 accade prima dell’evento 1 allora B sarà svolta prima
di A.
Altra caratteristica collegata alla programmazione ad eventi
è che se nessun evento ha luogo durante l’esecuzione
del programma, il processore non ne esegue alcuna istruzione;
in questo modo può quindi dedicarsi allo svolgimento di altri
compiti, operando perciò in multi-tasking; in ambiente
DOS, al contrario, una volta lanciata l’esecuzione del programma
e fino alla sua fine, il processore era sempre impegnato a svolgerne
le istruzioni, impedendo di fatto operazioni multi-tasking.
Infine mentre nella programmazione sotto DOS è l’applicativo
a dover interrogare il sistema operativo per sapere se è accaduto
un evento (si pensi, ad esempio, che se si desidera leggere un
dato da tastiera in linguaggio C per DOS occorre eseguire la
funzione scanf()), in ambiente Windows è il sistema operativo
che avvisa l’applicativo di quando si verifica l’evento
(ad esempio la battitura del tasto invio che determina
la fine immissione di un dato da tastiera), rendendo di fatto
inutile l’utilizzo di apposite istruzioni di lettura e,
soprattutto, evitando l’arresto dell’esecuzione del
programma nell’attesa dell’evento, come invece avviene
in ambiente DOS.
È comunque evidente che, pur se nelle differenze di esecuzione,
entrambe le logiche devono basarsi su di un linguaggio di programmazione.
Torna all'indice Generale del corso di Borland C++ Builder di Software Planet