Il termine 'calcolatore', nel tempo, ha sostanzialmente cambiato significato: da 'essere umano impiegato in calcoli impegnativi', magari con l'uso di tavole che altri calcolatori umani avevano precedentemente compilato accuratamente o con l'uso di strumenti come il regolo calcolatore, a macchina in grado di eseguire istruzioni da applicare a dati in ingresso per fornire opportuni dati in uscita.
Se poi i calcoli inizialmente riguardavano esclusivamente numeri, successivamente si sarebbero applicavano a dati come stringhe di caratteri, matrici, funzioni, immagini, ... dati di ogni tipo anche se, comunque, finora, sempre digitalizzati.
Un sistema di calcolo oggi è un qualunque coerente sistema di regole per trasformare dati costituiti a partire da un alfabeto di simboli in altri dati di questo tipo.
Anche se il senso comune ci porta a associare il calcolo all'aritmetica, la matematica è un insieme di sistemi formali di calcolo anche se magari non nati esattamente e consapevolmente con questo spirito.
Un calcolatore è dunque oggi un automa che esegue un programma di comandi con in quale è istruito, in un opportuno linguaggio a lui comprensibile, da un essere umano per un preciso scopo.
I diagrammi di flusso, strumento grafico bidimensionale, erano allora il preambolo, il lavoro progettuale preliminare necessario per arrivare poi a programmare qualunque calcolatore. Le forme bidimensionali standard da disegnare su un piano si diversificavano a seconda dei diversi elementi linguistici necessari in qualunque linguaggio di programmazione: inizio e fine, input e output, assegnazione, selezione. Collegando i blocchi con linee orientate si potevano dscrivere sequenze di blocchi o anche saltare da un blocco a un qualunque altro. Dovevano rendere leggibile l'algoritmo concettuale da trasformare poi in programma sebbene l'uso eccessivo del 'go to', la linea che dopo una selezione poteva collegare a qualunque altro blocco del digramma, rendesse a volte di difficile lettura e manutenzione il diagramma nel suo complesso.
Un semplice flowchart come il precedente era una elaborazione preparatoria per scrivere in un opportuno linguaggio le istruzioni da fornire a una macchina.
I diagrammi di flusso sono diventati obsoleti per i programmatori quando il costo dell'elaborazione è crollato, quando i linguaggi di programmazione da strettamente legati alla macchina sono diventati sempre più prossimi al linguaggio umano, quando la filosofia dei linguaggi e conseguentemente lo stile di programmazione sono migliorati e, infine, quando gli editor a video consentivano sia maggior puliziasia di poter spaziare facilmente nel piano mediante la scrittura 'indentata' dei blocchi di programma innestati in altri blocchi secondo lo stile di programmazione strutturata.
Tuttavia i diagrammi a blocchi, di cui un caso particolare sono i diagrammi di flusso, sono ancora molto utilizzati in diversi altri ambiti per descrivere idee e concetti rappresentati con testi descrittivi all'interno di sagome geometriche collegati tra loro con frecce come nelle mappe concettuali, per la rappresentazione logica o funzionale della struttura di macchine o circuiti elettrici, per la descrizione e la formalizzazione del comportamento dei sistemi dinamici.