Eleganza

From The Joel on Software Translation Project

Jump to: navigation, search

Venerdì, 15 Dicembre 2006 Original English Article

Alain de Botton ha scritto nel suo The Architecture of Happiness (Pantheon Books, 2006) un capitolo sull'eleganza che ogni progettista di software troverà familiare.

De Botton confronta il ponte di Salginatobel in Svizzera con il ponte sospeso di Clifton, in Gran Bretagna, in uno del più stupefacenti libri di architettura che abbia mai letto:

ponte di Salginatobel
ponte sospeso di Clifton

"Sia il ponte di Salginatobel, progettato da Robert Maillart, che il ponte sospeso di Clifton, progettato da Isambard Brunel, sono strutture possenti: entrambi meritano il nostro riconoscimento per trasportarci incolumi sopra un precipizio fatale–ma il ponte di Maillart è il più bello dei due per l'eccezionale agilità, perché apparentemente senza nessuno sforzo svolge il suo compito. Con le massicce mura e le pesanti catene d'acciaio la costruzione di Brunel ricorda un tarchiato uomo medioevale che si regge le brache e richiama rumorosamente l'attenzione del pubblico prima di fare un salto tra due punti laddove il ponte di Maillart ricorda un aereo atleta che salta senza cerimonie e si inchina discretamente al proprio pubblico prima di lasciare il palcoscenico. Tutti e due i ponti adempiono ai propri audaci compiti ma quello di Maillart possiede l'aggiunta virtù di farci sembrare spontaneo il suo compito–e poichè sappiamo che spontaneo non è ce ne meravigliamo e lo mmiriamo anche di più. Il ponte è ammantato con una specie di bellezza a cui possiamo riferirci quando parliamo di eleganza, una qualità che ci si presenta ogni qualvolta un'opera architettonica compie un atto di resistenza–contenendo, protraendosi, proteggendo–con grazia ed economia così come con la forza; quando ha la discrezione di non attirare l'attenzione sulle difficoltà che deve superare."

Alla luce di questa citazione mi piacerebbe riconsiderare i miei recenti concetti di scelta e semplicità ed aggiungerne un terzo: l'eleganza.

Le persone, nella maggior parte dei casi, non giocano con i propri programmi perché lo vogliono: usano i software come strumenti per ottenere qualcos'altro rispetto a quello che stanno facendo. Magari usano un programma di chat per sembrare arguti con la speranza che la persona con la quale stanno chattando vorrà passare del tempo con loro cosicché, in ultima analisi, possano avere più speranza di giacere insieme cosicchè, in ultima analisi, il loro DNA egoista potrà replicarsi. Magari stanno usando un foglio di calcolo per vedere se possono permettersi un appartamento più grande cosicchè, in ultima analisi, le ragazze saranno favorevolmente impressionate e aumenteranno le possibilità di giacere insieme e ancora ne beneficerà il DNA. Magari stanno lavorando ad una presentazione in PowerPoint per il loro capo cosicchè avranno un aumento con il quale potranno affittare un appartamento più grande che potrà attrarre più ragazze e quindi si incrementerà la possibilità di giacere insieme (avete afferrato il concetto, no?) così che il DNA egoista potrà replicarsi. Forse stanno cercando in internet una ricetta per fare dei tortelli ripieni di ricotta di capra ecc., ecc., ... DNA.

A meno che non siano gente che di mestiere fa recensioni di software a loro interessa ben poco del software in se e più ne noteranno la presenza più ne saranno infastiditi.

Le scelte, quindi, possono essere buone o cattive. Sono buone quando sono di ausilio al compito che l'utente sta tentando di compiere: voglio poter essere in grado di scegliere con che persona chattare. Sono cattive quando sono un disturbo agli effettivi obiettivi di riproduzione del DNA dell'utente. Ogni due o tre giorni qualche programma merdoso che neanche ricordo di aver installato se ne esce con dei fastidiosi messaggi chiedendomi se voglio aggiornare questo o quello. Non me ne può fregare di meno. Sto facendo altro. Non mi scocciare! Sono sicuro che il team di Sun Microsystems che ha appena rilasciato la sua favolosa nuova versione della Java Virtual Machine ha pensato al rilascio incrementale giorno e notte per mesi e mesi ma ali altri 5 miliardi al mondo non glie ne può fregare di meno. Non puoi neanche immaginare quanto poco voglia perdere anche solo tre secondi della mia vita a pensare se debba o meno installare quella nuova JVM. Qualcuno starà già aprendo il suo Gmail per scrivermi che la JVM non deve semplicemente aggiornarsi da sola "perché potrebbe non funzionare più qualcosa". See, se la saggezza collettiva dell'intero team di sviluppo di Java non sa se qualcosa non funzionerà più, come si può pensare che lo sappia io?

Formidabile è poi usare il termine semplicità per significare "grazia ed economia" o "eleganza". Un buon esempio è la differenza che c'è tra la ricerca di brani musicali fatta con Rhapsody e quella fatta con iTunes. Rhapsody ti fa scegliere se vuoi ricercare per album, per traccia o artista. iTunes non ti dà nessuna scelta: cerca in tutti i campi e questo funziona ugualmente bene ed è più facile. In questo caso economia significa potere ed è una caratteristica ricercata.

D'altro canto se usi semplicità per significare mancanza di potere, mancanza di funzionalità, mi sta bene: se vuoi metterti nel business delle graffette, buona fortuna; ma le possibilità che il tuo prodotto risolva i miei problemi iniziano a diminuire, così come si restringono pure le tue potenziali quote di mercato.

Personal tools