Programmazione vs Scacchi

Mettiamo in relazione l’arte della programmazione con il gioco degli scacchi.

Ci vogliono dieci minuti per imparare le regole del gioco degli scacchi, cosi come ci vuole poco tempo per smanettare un linguaggio di programmazione. Nel mondo degli scacchi ci muoviamo dentro una scacchiera, nel mondo della programmazione ci muoviamo all’interno di un IDE (Integrated Development Enviroment) di sviluppo. Apprese le regole del gioco degli scacchi possiamo cominciare a fare qualche partita cosi come appresi i concetti elementari della programmazione (assegnazione,condizione,iterazione) possiamo cominciare a scrivere i primi algoritmi in un linguaggio di programmazione.

Riflettiamo, però, sui risultati che raggiungiamo.
Nel gioco degli scacchi muovere i pezzi limitandoci a rispettare le regole non ci porta molto lontani cosi scrivere delle istruzioni che soddisfano le regole sintattiche del linguaggio e le regole semantiche dell’algoritmo non ci permette di raggiungere un grande traguardo. Ciò che manca in entrambi i casi è l’uso di una strategia, la differenza per vincere a scacchi o per sviluppare un buon software sta nell’uso di una strategia vincente.

Nel gioco degli scacchi la strategia vincente deriva da anni di studio e di applicazione nel gioco, cosi come nella programmazione la strategia vincente deriva dallo studio delle metodologie di progettazione del software e dal loro impiego nel tempo.
Concludo questa metafora ribadendo il concetto che conoscere il gioco degli scacchi non ci rende dei maestri e che conoscere i costrutti dell’informatica e i linguaggi di programmazione non fa di noi dei buoni progettisti di software.

In entrambi i casi serve molto studio e applicazione sul campo, possiamo studiarci dieci libri sugli scacchi ma se non facciamo mai una partita abbiamo solo assimilato tante nozioni che sono nascoste da qualche parte nel nostro cervello; allo stesso modo possiamo studiare per anni le metodologie di progettazione del software ma se non realizziamo mai un progetto/sistema informativo restano solo teoria non applicata.

Il grande fisico tedesco Albert Einstein sintetizzò questo concetto cosi:

“La teoria è quando si sa tutto ma non funziona niente. La pratica è quando funziona tutto ma non si sa il perchè. In ogni caso si finisce sempre con il coniugare la teoria con la pratica: non funziona niente e non si sa il perchè.”
Albert Einstein

Questo è un estratto dell’articolo “Metodologie di progettazione del software Object-Oriented” di Simone Moretti

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...