sabato 29 novembre 2025

Matematica e computer

Ci sono delle volte che ho uno strano bisogno di sintesi su un qualche argomento complesso. Oggi ho bisogno di fare una sintesi un po' bizzarra sull'informatica.

Cosa è un computer?

Un computer è un dispositivo fisico che esegue programmi. Un programma in esecuzione in un computer può fare le cose più disparate: permettere di scrivere un documento; preparare i dati del documento e inviarli in modo corretto ad un altro dispositivo per fare una stampa su carta; lo stesso per fare un disegno; può consentire di gestire grossi fogli di calcolo estremamente complessi; puo far giocare a innumerevoli giochi diversi; può  mandare a video un intero film, o una musica sugli altoparlanti o le cuffie; può preparare in modo opportuno i dati che gli vengono forniti per inviarli correttamente sulla rete informatica, dove migliaia di altri programmi lavorano per portare i messaggi (testi, audio, video) in qualunque parte del mondo. Può consentire di costruire altri programmi in grado di andare in esecuzione e fare quello per cui sono stati progettati.

Ma che cos'è un programma?

E' un insieme di istruzioni che codificano una procedura chiamata algoritmo, che prima di entrare in esecuzione devono risiedere nella memoria del computer. Un programma in sostanza è un numero o, se ci piace di più, una serie di numeri in precisa sequenza, non fa molta differenza. E cosa vuol dire che il programma viene eseguito dal computer? Quando entra nello stato di esecuzione il programma accetta in qualsiasi momento dei dati in ingresso (input) per restituire quando necessario dei dati in uscita (output). È di fatto un'applicazione (funzione) che associa ad un dominio un'immagine corrispondente. E un dominio che cos'è? E un'immagine che cos'è? Sono insiemi di numeri. Numeri che poi si trasformano in testi, immagini, video, altri numeri, giochi, film, musica, ecc. Un programma in esecuzione non è altro che una funzione che associa numeri a numeri.

E un programma che risiede nella memoria del computer come fa a diventare una funzione? Come va in esecuzione? Tramite quale meccanismo, o quale sostrato?

Passando attraverso oggetti hardware (circuiti) che tramite l'utilizzo di un numero enorme di elementi logici concatenati (porte logiche) realizzano un'algebra di boole. Gli oggetti hardware possono essere diversi e di diverso dettaglio realizzativo ma sono sempre strutture algebriche. Un computer che esegue programmi è una struttura algebrica che lavora sui numeri.

Ricapitolando:

Un computer (hardware) è la realizzazione fisica di un algebra di boole più o meno complessa.
Un programma archiviato (file, software) è un numero.
Un programma in esecuzione (software, processo) è una funzione.

Quindi l'informatica è costituita da numeri archiviati in memorie fisiche che codificano algoritmi e dati iniziali in input. Questi numeri vengono fatti passare attraverso complesse strutture algebriche di boole che li trasformano in funzioni in grado di associare numeri a numeri.


Nessun commento: