9 Commenti

Knuth, ma soprattutto Adorno

Sull’arte del programmare

di

thumbnail

26

nov

2012

Per alcuni, l’ultimo aspetto da coltivare per una fortunata carriera da programmatore può essere proprio la programmazione.

Ammettiamolo, scrivere software può essere un lavoro estremamente noioso. Se avete la sfortuna di lavorare in una di quelle aziende che si occupano di fornire programmatori in outsourcing un tanto al chilo, e magari ci siete finiti subito dopo l’università, con tutta probabilità vi troverete a fare un lavoro ripetitivo di cui vi disamorerete molto presto. Ma non deve andare necessariamente così.

Donald Knuth, uno dei padri dell’informatica, scrisse:

Programmare i computer è un’arte, perché applica al mondo la conoscenza accumulata, richiede capacità e ingegno e soprattutto produce oggetti di bellezza. Un programmatore che nel proprio subconscio si veda come un artista apprezzerà ciò che fa e lo farà meglio.

Proviamo a fare nostro il consiglio di Knuth e cerchiamo di capire come sentirci più artisti e meno operai da catena di montaggio.

Se nel Rinascimento era la bottega il fulcro della formazione dei nuovi artisti, social media e software open source ne rappresentano la versione moderna. Seguire su Twitter segnalazioni, dubbi, problemi e suggerimenti di artisti della programmazione come Kent Beck, Martin Fowler e Robert Martin – giusto per citarne alcuni – può fornirvi i giusti stimoli per migliorare la vostra tecnica. Il vostro maestro di bottega virtuale è là fuori: dovete solo cercarlo.

Il software open source vi offre inoltre la possibilità di partecipare concretamente alla vita di un software: cercate su GitHub un progetto che vi interessa, provate a capirne il codice e a dare il vostro contributo al progetto partendo dalla risoluzione dei bug più semplici. Le soddisfazioni e le occasioni di imparare cose nuove non mancheranno. Se rimanete confinati nella stretta cerchia dei colleghi le possibilità di migliorarvi sono decisamente minori.

Secondo il filosofo Theodor Adorno, uno dei compiti dell’artista è introdurre caos nell’ordine, essere portatore di un approccio diverso e in un certo senso sovversivo. Provate a ripensare senza preconcetti a ciò che come sviluppatori vi trovate a gestire quotidianamente: il mondo dell’informatica è in continuo fermento e con tutta probabilità oggi avete a disposizione nuovi strumenti per meglio affrontare vecchi problemi. Perché continuare a usare Cvs o Java5 quando ci sono Git, Java7 o Scala? Cavalcate l’onda del cambiamento: studiate e appropriatevi delle nuove tecnologie, fatevi promotori della loro introduzione. Solo così vi sentirete (artisticamente) vivi.

Un ultimo suggerimento: imparate a comunicare la vostra passione per la programmazione.

Il riferimento in questo ambito è Why the lucky stiff (la cui parabola artistica meriterebbe un post a parte), che ha scritto uno dei libri più belli sulla programmazione e lo ha fatto da vero artista, utilizzando la contaminazione di genere e innestando la forma del fumetto in quella del manuale di informatica. Scrivere un intero libro è probabilmente un obiettivo ambizioso, ma pubblicare un blog o semplicemente rispondere a una domanda su Stack Overflow sono già un ottimo inizio.

Nella nostra quotidianità veniamo a contatto con decine di software differenti, alcuni dei quali offrono un’esperienza d’uso talmente negativa che si percepisce palesemente l’incuria di chi li ha programmati. Altri invece ci piacciono così tanto che sono diventati parte della nostra vita, cambiandola e condizionandola. In questi casi non posso non pensare che chi li ha programmati un po’ artista effettivamente era.




Andrea C. Granata (@andreacgranata) ha pigiato i primi tasti su un bianco VIC20 quando ancora Internet era in fasce. Un po’ sistemista un po’ sviluppatore, ha una passione per FreeBSD, programmazione in Ruby, metodologie Agile e infrastrutture cloud. Si occupa di Enterprise Architecture e di DevOps per una delle più importanti banche italiane. Nel tempo libero si divide tra la passione per la cucina, il pattinaggio di figura e i viaggi in Oriente.

Letto 9.469 volte | Tag: , , , , , , , , , , , ,

9 commenti

  1. Enrico Colombini

    Belle parole, ma la realtà che vedo in giro nel XXI secolo è molto diversa (specie in Italia): sono richiesti praticamente solo programmatori-manovali, a basso costo s’intende, e la soddisfazione creativa si può trovare soltanto a proprie spese.
    Non per niente Knuth “scrisse”, al passato remoto.

  2. [...] Per alcuni, l'ultimo aspetto da coltivare per una fortunata carriera da programmatore può essere proprio la programmazione.   Donald Knuth, uno dei padri dell’informatica, scrisse: Programmare i computer è un’arte, perché applica al mondo la conoscenza accumulata, richiede capacità e ingegno e soprattutto produce oggetti di bellezza. Un programmatore che nel proprio subconscio si veda come un artista apprezzerà ciò che fa e lo farà meglio.  [...]

  3. Andrea C. Granata

    Enrico il panorama è piuttosto sconsolante ma come scrivo nel post non deve necessariamente andare così. Proprio sabato ero all’agile day che si è tenuto alla università statale di Milano e li si respirava un’aria diversa e corroborante. Tanti programmatori appassionati hanno sacrificato il riposo del sabato per condividere le proprie esperienze. Ho avuto modo di parlare con sviluppatori che lavorano in piccole aziende – come la mia – che mettono la qualità della programmazione al primo posto e che riescono a mantenere viva la passione per il loro lavoro. Il problema semmai è quello di comunicare che altre strade sono possibili anche nelle big enterprise. Si possono usare degli approcci che preservano la qualità del software e la produttività.

  4. maurizio galotti

    Di solito non oso partecipare a queste discussioni ma in questo caso ho ritenuto opportuno farlo.
    E’ vero! In generale il panorama offerto dalle società “IT” italiane è decisamente squallido.
    La tendenza è quella di considerare i programmatori come dei manovali delle nuove catene produttive dell’era dell’informazione. Quelle che alcuni chiamano “sw factory”.
    Ma non solo: il body rental è al top della classifica e investire sui programmatori, dargli modo di crescere e partecipare ad eventi e seminari, aggiornarsi… è considerato inutile.
    Ma fortunatamente esistono realtà, come dice Andrea, magari di piccole dimensioni (ma di grandi visioni al tempo stesso) che fanno la differenza e la mia società è una di queste!
    E, concedetemelo, me ne vanto!!! :-))

  5. Programmazione, tra arte e mestiere « Andrea Chiarelli

    [...] questa linea si pone un recente articolo di Andrea C. Granata in cui vengono citati Donald Knuth e Theodor Adorno a supporto della tesi che [...]

  6. Codice rosso | Apogeonline

    [...] mio recente pezzo sull’arte del programmare giungevo alla conclusione che esistono software scritti talmente male che si riesce a percepire [...]

  7. Lorenzo Camporesi

    Bellissimo articolo, merita molto… è un peccato che non si trovi il libro di Knuth!! =(

  8. Lucio Bragagnolo

    Difficile o impossibile trovarlo in libreria italiana. D’obbligo l’ordine online. :-)

  9. Alberto

    Ha ragione il primo commentatore… belle parole (ipocrite).

Lascia il tuo commento