In realtà proprio ora non ho mai scritto flowchart, se non abbozzare a penna i passi fondamentali per ottenere quello che voglio. Anche se all'università insegnano che è una buonissima norma quella di fare prima il disegno dell'algoritmo, e che non si inizia subito a scrivere codice.
Io ora sto lavorando su un programma da poco meno di 1'000 righe in C, in realtà non è tanto complesso, però capita che mi perdo, che non ho sotto mano la visione ad alto livello dell'algoritmo, astratta.
Più che altro, se devo apportare anche delle piccole modifiche o aggiunte all'algoritmo, devo mettermi a riflettere in quale punto dell'algoritmo introdurre quelle 2 righe di codice aggiuntive che mi servono. Oppure che effetto fa se io modifico una parte piuttosto che un'altra.
In tali casi, avere una astrazione e vedere l'algoritmo "dall'alto" invece che sporcato di tutti i dettagli implementativi che il programma ovviamente ha, è sicuramente utile.
Più che altro sono convinto che se progettato bene e con l'algoritmo ben stampato in testa, si fanno molti meno errori. Perchè poi capita sicuramente che il programma non funziona subito alla prima esecuzione, bisogna vedere che errore da (oppure perchè il risultato non è quello atteso), andare a capire dove potrebbe essere l'errore, passare in rassegna tutto il codice... e oltre ad essere una perdita di tempo, personalmente dopo un po' infastidisce anche....
Mi piacerebbe magari metterci qualche minuto in più, scrivere un buon codice, ben strutturato, chiaro e pulito, e diminuire le volte in cui bisogna andare alla ricerca di errori. Oppure semplicemente migliorare la ricerca, rendendola più semplice.
Sicuramente l'esperienza conta tantissimo.
Io però ora non ne ho, ho perso alcuni giorni e dovrei consegnare un progetto universitario per massimo venerdì (o meglio domani, giovedì). Però sono ancora in alto mare, perdo molto tempo per analizzare e correggere alcuni errori che magari avrei potuto evitare scrivendo l'algoritmo senza errori, in modo corretto.
Questo però vale in genere, ogni volta che mi si presenta una situazione del genere, in cui devo scrivere del codice corretto e ben scritto, in un lasso di tempo breve... e quindi avere un qualche strumento/aiuto esterno del semplice codice scritto potrebbe essere utile.
Se invece l'unica è farsi esperienza, e non esistono ausili in tal senso... beh, vorrà dire che porterò pazienza e cercherò di fare più esperienza possibile
Anche se, quello che mi frega, è che basta qualche mese senza programmare che poi ci si dimentica molto di quanto si era appreso con sudore...