16 gennaio 2009

Un umile programmatore

Edsger W. Dijkstra

Quando erano già tre anni circa che programmavo, ebbi modo di discutere con A. van Wijngaarden, che all'epoca era il mio capo al Centro di Ricerca in Matematica ad Amsterdam, una discussione per cui gli sarò grato per la vita.

Il mio problema era che, oltre a programmare, avrei dovuto allo stesso tempo studiare fisica teorica all'università di Leida e, dato che le due attività mi risultavano sempre più difficili da conciliare, dovevo prendere una decisione.

O smettevo di programmare per diventare un vero, rispettabile fisico teorico, oppure potevo completare i miei studi di fisica a livello formale, con il minimo sforzo, per poi diventare..., sì ma che cosa? un programmatore?
Ma si trattava di una professione rispettabile? Perché dopo tutto che cosa voleva dire programmare? dov'era quel solido corpo di conoscenze che poteva fare della programmazione una disciplina intellettualmente rispettabile?

Mi ricordo abbastanza bene come invidiassi i miei colleghi che si occupavano di hardware, i quali, interrogati sulle loro competenze professionali, potevano almeno far presente che sapevano tutto dei tubi a vuoto, degli amplificatori e di tutto il resto, mentre a me pareva che, di fronte alla stessa domanda, io sarei rimasto a mani vuote.

Timoroso come non mai, bussai quindi alla porta di van Wijngaarden, chiedendogli se potevo "parlargli un momento"; quando lasciai il suo ufficio diverse ore più tardi, ero una persona nuova. Perché lui, dopo aver ascoltato pazientemente i miei problemi, si disse d'accordo sul fatto che, fino a quel momento, non esisteva una vera e propria disciplina della programmazione, ma poi continuò spiegando a bassa voce che i computer sarebbero durati a lungo, che eravamo soltanto agli inizi... E non potevo essere io una di quelle persone chiamate a fare della programmazione una disciplina rispettabile negli anni a venire? Questo fu un punto di svolta nella mia vita, e completai i miei studi di fisica il più velocemente possibile. Una possibile morale della storia, naturalmente, è che bisogna stare molto attenti a dare consigli ai più giovani; a volte li seguono!

Due anni più tardi, nel 1957, mi sposai. In Olanda per sposarsi bisogna dichiarare la propria professione, e io dichiarai di essere un "programmatore". Ma le autorità municipali della città di Amsterdam non accettarono questa definizione, con la motivazione che una professione del genere non esisteva. E, credeteci oppure no, ma alla voce "professione" il mio certificato di matrimonio riporta la ridicola definizione "fisico teorico"!

Edsger W. Dijkstra, The Humble Programmer, ACM Turing Lecture, 1972