giovedì 4 novembre 2010

All'insù

Quando si affronta un problema, informaticamente parlando, esistono due diversi tipi di approccio, almeno così dicono i sacri testi: Top-Down e Bottom-Up (ovviamente i sacri testi sono scritti in lingua inglese).
Traducendo, non solo dal punto di vista linguistico, i due termini, si ottiene qualcosa del genere: nel primo caso partire dall'alto, farsi una visione complessiva del problema, suddividerlo in elementi, prendere ciascuno di questi elementi, analizzarlo, risuddividerlo, fino ad arrivare ai "mattoncini elementari", che vengono effettivamente sviluppati per poi essere assemblati; nel secondo si ragiona più o meno al contrario, si cerca di capire quali mattoni si hanno a disposizione e si prova a metterli assieme per ottenere il risultato atteso.
Ovviamente questa è la teoria: nella pratica questi due approcci si mescolano ampiamente. Del resto non ha senso suddividere un problema in mattoni se non si ha la minima idea delle caratteristiche che tali mattoni possono avere, mentre è assai più facile costruire e assemblare mattoni se si ha una certa idea di quale debba essere la forma dell'edificio nel suo complesso.

Personalmente prediligo un mix decisamente spostato verso il secondo metodo: mi permette di cominciare subito a lavorare concretamente, ad avere a disposizione piccoli oggetti da incastrare, con una struttura che prende forma lentamente ma comincia ad esistere da subito, prodotto tangibile della fatica e dell'impegno profuso.

Che può anche sembrare paradossale l'utilizzo di termini come "concretamente", "esistere" e "tangibile" per entità virtuali prodotte da piccole differenze di potenziale in minuscoli circuiti e che spariscono nel momento in cui si spegne il computer; ma vi posso assicurare che non lo è affatto.

4 commenti:

  1. Lavori a qualche progetto interessante ora?

    RispondiElimina
  2. sì, no, circa. il progetto è sempre quello, un eterno work in progress, ma l'aspetto di cui mi sono occupato in questo ultimo periodo è abbastanza stimolante

    RispondiElimina
  3. Per me sarebbe affascinante se ci fosse un esempio pratico che mi facesse capire qualcosa :) cmq mi fido della tua parola. Marion

    RispondiElimina
  4. ci penso, e poi vedo se riesco a raccontartelo...

    RispondiElimina