La Via del Programmatore

Non c'e' dubbio che i programmatori abbiano un approccio particolare alla soluzione dei problemi che applicano anche ai problemi della vita di tutti i giorni: e' questo che chiamo "La Via del Programmatore"

Questa maniera particolare di affrontare la vita di tutti i giorni ha i suoi pregi e i suoi difetti.

Il programmatore pensa che tutti i problemi possano essere risolti se si continua a tentare. I fallimenti non sono definitivi ma solo un aspetto del processo di debuggare la soluzione fino a trovare quella che funziona. Purtroppo la vita reale spesso non ci offre seconde o successive occasioni.

Sul calcolatore potete provare la soluzione con piccole modifiche, in continuazione: ogni nuovo tentativo ,non solo non produce risultati catastrofici, ma vi permette di acquistare nuove conoscenze sul modo di risolvere il problema. Purtroppo nella vita reale spesso non e' cosi': se sbagliate il primo tentativo i risultati rendono impossibile ritornare indietro e riprovare. Nella vita reale una scelta puo' essere definitiva e se e' stata errata la rimpiangerete per tutta la vita. I programmatori devono stare attenti a tener conto che un vaso rotto nella vita reale non e' come un vaso rotto virtuale che puo' tornare integro ogni momento.

Anche in quei casi in cui potete,nella vita reale, provare e riprovare, i risultati non e' detto che siano cosi' gratificanti come quando si prova col computer. Perche' il computer della realta' e' estremamente complesso ed e' molto difficile distinguere cause ed effetti se non riuscite a padroneggiare il tutto. Alla fine i vostri sforzi non vi faranno avanzare di un millimetro perche' non state considerando qualche aspetto importante della questione.

Il problema informatico viene interiorizzato e continua a essere analizzato nello sfondo del nostro cervello anche quando siamo lontani dal computer; finche' , magari svegliandoci la mattina, non abbiamo la rivelazione della soluzione ottimale. Questa maniera di affrontare i problemi reali puo' farci perdere un sacco di tempo e far diventare un granello di sabbia una montagna. Le soluzioni ottimali non sono sempre le migliori. Date lo stesso problema a un non programmatore e magari lo risolvera' in pochi minuti chiedendo a un esperto.

Quando il problema e' davvero complesso e le nostre conoscenze limitate, allora si applica il principio del "divide et impera". Si divide il problema in sottoproblemi piu' piccoli che vengono risolti utilizzando prototipi. E di prototipo in prototipo le nostre conoscenze aumentano finche' non arriviamo all'ultimo prototipo che risolve il problema iniziale in maniera ottimale. Nella vita reale questo approccio e' difficilmente realizzabile e puo' addirittura portare facilmente a vicoli ciechi ingigantendo il problema iniziale. Putroppo qui la soluzione non e' un programma:cioe' qualcosa di tangibile che possiamo scrivere e riscrivere in continuazione ; comporre e scomporre; esattamente come faremmo con delle macchine reali fatti da pezzi lego. Nella vita reale spesso conosciamo la soluzione ma non sappiamo descriverla, non sappiamo manipolarla.

Indietro a La programmazione al tempo dei dinosauri


Page maintained by :info@zitogiuseppe.com
Last modified :