Creatività

Due ruoli apparentemente diversi con niente in comune?
Non proprio.

L’informatica è la mia prima passione e posso dire di aver intrapreso ormai da anni la via del programmatore; l’altra mia passione, scoperta da poco, è quella del giardiniere/ortolano.
Come può un programmatore informatico, che passa le sue ore sul computer, adorare l’attività di giardinaggio? Sembrano quasi due mestieri in antitesi. Eppure ci sono diverse cose che li accomunano: vediamole!

Meticolosità
Innanzitutto la meticolosità. Il programmatore è meticoloso in quel che fa, anzi deve essere meticoloso e scrupoloso: non può omettere un controllo sulla dimensione di un buffer (l’exploit più comune è per l’appunto il buffer overflow), o evitare di gestire una particolare eccezione; non può nemmeno non approfondire il perché di un certo comportamento di una particolare funzione e non può tralasciare un problema perché questo si ripresenterà in forma ancor più astrusa e complicata.
Lo stesso vale per il giardiniere: cura le piante, non può trascurare le piccole buche nell’orto (tipico allarme da topo di campagna) e nemmeno lasciare che il terreno dove sono poste le spezie secchi. Anch’egli deve essere meticoloso in ciò che fa.

Perseveranza
E’ risaputo che una volta terminata la fase di implementazione di un’applicazione, inizia quasi istantaneamente la fase di manutenzione: il programmatore è costretto ogni giorno ad apportare modifiche e migliorie al suo codice e di conseguenza non finisce mai di lavorare su un progetto iniziato. Per chi ancora non sa se il suo futuro sarà da programmatore deve mettersi in testa che tale lavoro richiede tanta perseveranza, tanta tantissima continuità e lo stesso vale per l’uso dei linguaggi di programmazione: se si abbandona un linguaggio per troppo tempo si rischia di doversi fare un breve ripasso per cercare di riprendere la fluente padronanza persa.
Il giardiniere non è da meno. Provate a lasciare l’orto per un paio di giorni sotto il sole cocente e senz’acqua, oppure a non curare una pianta infestata dagli afiti, o ancora lasciare mano libera a un rampicante come la Passiflora: vedrete come sarà divertente rimediare all’errore. Oltre ad essere meticolosi, i giardinieri devono ripetere quotidianamente certe operazioni, necessarie per un buono sviluppo e una buona crescita del proprio pezzetto di terra.

Pazienza
Ultima cosa la pazienza. Questo punto è fondamentale per entrambi i mestieri.
Se siete un programmatore allora saprete molto bene cosa vuol dire fare del debugging e del testing: ore e ore passate su una console a cercare un problema apparentemente inesistente, causato poi dall’assenza di un punto e virgola. Il programmatore spende buona parte del suo tempo a controllare che tutto vada bene, che il flusso d’esecuzione non prenda vie indesiderate o inaspettate, che le funzioni di libreria ritornino ciò che si è voluto, che gli algoritmi facciano il loro dovere senza interruzioni.
E il giardiniere no? Non deve aver pazienza? Si vede che non siete giardinieri :-) Rimettere in sesto una pianta malata è molto faticoso; dedicare un anno e mezzo a far crescere un rampicante che copra il terrazzo di casa vostra per poi trovarsela congelata nel cuore dell’inverno richiede una buona dose di sopportazione; seminare e aspettarsi che le prime piantine spuntino dopo pochi giorni, quando invece richiedono almeno un mese di tempo per buttare il primo germoglio, è a dir poco insopportabile.

No, il giardiniere e il programmatore non sono poi così diversi. Certo il frutto del loro risultato è differente ma i requisiti richiesti sono gli stessi: inoltre non c’è anche la creatività in entrambi i mestieri?
Essendo un programmatore, ecco allora perché mi ha preso la passione di diventare anche giardiniere ;-)