domenica 17 agosto 2008

"Only a good understanding of the ideas behind the language facilities leads to mastery" (part 1)

Questa frase di Bjarne Stroustrup, che si trova nell'introduzione alla terza edizione del suo libro “C++ Programming”, ci porta a considerare un argomento che mi sta particolarmente a cuore. Molto spesso, mi è capitato di lavorare con persone che, pur definendosi programmatori, considerano la programmazione solo come un atto ingegneristico. Per loro un programma è soltanto una serie di istruzioni che messe una dietro l'altra fanno sì che bene o male le cose “girino” a dovere. Le parole “stile”, “forma”, “bellezza”, “musicalità”, non hanno alcun significato per loro. È vero, si può scrivere un programma funzionante anche ignorando queste parole, ma (almeno per me) c'è una bella differenza tra scrivere un programma e “comporre” un programma. Ma torniamo alla frase di Stroustrup. Ogni Venerdì, io ho l'abitudine di mandare via mail a tutti i miei colleghi d'ufficio una frase che in maniera più o meno diretta riguarda il mondo informatico. Faccio questo perché spero (speranza regolarmente disillusa) che si inneschi una qualche forma di discussione su argomenti che credo possano interessare a chiunque affermi di essere un programmatore. Bene, quando ho mandato questa frase di Stroustrup ai miei colleghi, uno di loro mi ha detto (testuali parole): “Io sono pagato per scrivere codice e non per diventare un maestro del linguaggio”. Io allora mi chiedo: “chi è quell'atleta che non voglia eccellere nella propria disciplina? Chi è quel musicista che non voglia sempre migliorarsi nella sua arte o quel pittore che ricerchi sempre di avvicinarsi alla perfezione nella tecnica pittorica?”. È tanto diverso per un programmatore? Se faccio della programmazione la mia professione io voglio sapere tutto di questa professione; la storia, chi sono stati i grandi maestri del passato e chi sono i maestri del presente, Tutte le tecniche che mi possano portare ad eccellere in quello che è a tutti gli effetti il mio mezzo di espressione.
Con queste considerazioni concludo la prima parte di questo intervento.
Nella seconda parte vedremo cosa è per me la musicalità di un programma.

Luca Ciciriello

Nessun commento: