Con la crescente dipendenza dalla scrittura di codice assistita dall’IA, sono finiti i giorni in cui vedevamo qualcuno tirare fuori il proprio quaderno e abbozzare algoritmi o piani per risolvere un dato problema. Ai vecchi tempi il diagramma di flusso era uno dei modi fondamentali che si poteva usare per mappare e rendere visive le proprie soluzioni! Ci vuole certamente tempo, ma a lungo termine produce soluzioni con meno bug, quindi forse, solo forse, vale la pena riprenderlo in mano!
Qui sotto c’è un estratto di scrittura tratto dal libro “programming the 8086/8088 di James W. Coffron”, non prendo alcun merito per le intuizioni dei suoi scritti. Fu pubblicato nel 1983 quando le persone scrivevano ancora codice sui loro grossi PC IBM quasi grandi come frigoriferi con semplicemente il buon vecchio assembly, girovagando nella memoria per trovare la loro strada attraverso la logica del loro codice.
Che tempi diversi erano…
Diagrammi di Flusso
Un diagramma di flusso è semplicemente una rappresentazione simbolica di un algoritmo, solitamente espressa come una sequenza di rettangoli e rombi. Su un diagramma di flusso, i rettangoli sono usati per rappresentare comandi (o istruzioni eseguibili), e i rombi sono usati per i test come: Se l’informazione X è vera, allora prendi l’azione A; se no, prendi l’azione B.
La Figura 1.1 mostra un esempio di diagramma di flusso. Il diagramma di flusso è un passo intermedio altamente raccomandato tra la specificazione di un algoritmo e la codifica effettiva di una soluzione. Sorprendentemente, è stato osservato che forse il 10% della popolazione di programmatori può scrivere un programma con successo senza dover preparare un diagramma di flusso. Sfortunatamente, è stato anche osservato che il 90% della popolazione crede di appartenere a questo 10%! Il risultato, quindi, è che, in media, l’80% dei programmi fallisce la prima volta che vengono eseguiti su un computer. (Queste percentuali naturalmente non sono intese come accurate.) In breve, la maggior parte dei programmatori principianti raramente vede la necessità di disegnare un diagramma di flusso.

Diagramma dal libro Programming the 8086/8088 di James W. Coffron
Ignorare il passo del diagramma di flusso di solito risulta in un programma erroneo, e il programmatore deve poi passare molto tempo a testare e correggere il suo programma. (Questa è conosciuta come la fase di debug.)
La disciplina del diagramma di flusso è, quindi, altamente raccomandata in tutti i casi. Il diagramma di flusso generalmente richiede una piccola quantità di tempo aggiuntivo prima della codifica, e di solito risulta in un programma chiaro che si esegue correttamente in un breve periodo di tempo. Una volta che la procedura del diagramma di flusso è ben compresa, una piccola percentuale di programmatori può eseguire questo passo mentalmente, senza usare carta. Sfortunatamente, in tali casi, i programmi che scrivono sono di solito difficili da capire per gli altri, poiché la documentazione normalmente fornita con un diagramma di flusso non è disponibile. È universalmente raccomandato che il diagramma di flusso sia usato come disciplina rigorosa per qualsiasi programma più lungo di dieci o quindici istruzioni.
Mentre questa pratica potrebbe non essere più necessaria per consegnare codice robusto funzionante, potrebbe ancora rimanere uno strumento utile quando si cercano buone soluzioni quando l’improvvisazione sembra impossibile a volte.