venerdì 11 gennaio 2013

il Tao della programmazione: Libro 3 - Progettazione

Geoffrey James, 1987
Libro 3 - Progettazione

Così parlò il maestro programmatore:
“Quando il programma viene testato, è troppo tardi per fare modifiche nel progetto.”

3.1

C'era una volta un uomo che andò a una fiera di computer. Il primo giorno, entrando, disse alla guardia sulla porta:

“Io sono un grande ladro, famoso per le mie imprese di taccheggio. Siate preparati, perchè questa fiera non sfuggirà alle mie brame.”

Questo discorso infastidì molto la guardia, perchè c'erano milioni di dollari di attrezzature all'interno, così osservò attentamente l'uomo. Ma l'uomo si limitava a girovagare da padiglione a padiglione, canticchiando sommessamente.

Quando l'uomo se ne andò, la guardia lo portò da parte e perquisì i suoi abiti, ma non trovò nulla.
Il giorno successivo della fiera, l'uomo tornò e infastidì la guardia dicendo: “Ieri sono sfuggito con un vasto bottino, ma oggi sarà ancora meglio.” Così la guardia iniziò a tenerlo d'occhio più attentamente, ma senza risultato.

L'ultimo giorno della fiera, la guardia non poteva più trattenere la sua curiosità. “Signor ladro”, disse, “sono così perplesso da non riuscire a capacitarmi. Per favore mi illumini. Che cos'è che sta rubando?”

L'uomo sorrise. “Sto rubando idee”, disse.

3.2

C'era una volta un maestro programmatore che scriveva programmi non strutturati. Un programmatore novizio, cercando di imitarlo, iniziò anche lui a scrivere programmi non strutturati. Quando il novizio chiese al maestro di valutare i suoi progressi, il maestro lo rimproverò per aver scritto programmi non strutturati, dicendo: “Ciò che è appropriato per il maestro non è appropriato per l'allievo. Devi comprendere il Tao prima di trascendere la struttura.”

3.3

C'era una volta un programmatore che lavorava alla corte del Signore di Wu. Il signore chiese al programmatore: “Che cosa è più facile da progettare: un programma di contabilità o un sistema operativo?”

“Un sistema operativo”, rispose il programmatore.

Il signore fece un'espressione di incredulità. “Sicuramente un programma di contabilità è banale in confronto alla complessità di un sistema operativo”, disse.

“Non è così”, disse il programmatore, “progettando un programma di contabilità, il programmatore opera da mediatore tra persone che hanno idee diverse: come deve operare, come devono apparire i suoi rapporti, e come deve conformarsi alle leggi sulle tasse. Invece, un sistema operativo non è limitato dalle apparenze esterne. Quando progetta un sistema operativo, il programmatore cerca l'armonia più semplice tra macchina e idee. Ecco perchè un sistema operativo è più facile da progettare.”

Il Signore di Wu annuì e sorrise. “Sono d'accordo su tutto, ma quale è più facile da debuggare?”

Il programmatore non rispose.

3.4

Un manager andò dal maestro programmatore e gli mostrò il documento dei requisiti per una nuova applicazione. Il manager chiese al maestro: “Quanto tempo servirà per progettare questo sistema se gli assegno cinque programmatori?”

“Servirà un anno”, disse prontamente il maestro.

“Ma questo sistema ci serve immediatamente o anche prima! Quanto tempo servirà se gli assegno dieci programmatori?”

Il maestro programmatore corrugò la fronte. “In quel caso, serviranno due anni.”

“E se gli assegno cento programmatori?”

Il maestro programmatore alzò le spalle. “Allora il progetto non sarà mai completato”, disse.

Il Tao della Programmazione: Libro 2

Nessun commento:

Posta un commento