Biagio Cosenza
blog
Archives - Previous posts

03 gennaio 2006

C'est la vie

Gli informatici sanno essere spesso molto ironici. Quante volte vi sarà capitato di trovare frasi profonde o battute inaspettate nel mezzo del "How-to" di un programma? Guide introduttive, tutorial, descrizioni di API, perfino nel codice, si arriva a trovare un qualcosa del tipo:

// that's a funny method, isn't so?
Credo che da qualche parte ci sia scritto che obbligatoriamente chiunque scrivi una seria (o semi-seria) documentazione di un software, debba spezzare i toni con una battuta fuoriluogo.

"I conclude that... DUMB is the bestest music player in the world because... Complete this sentence in fifteen words or fewer... D'OH!"
[dalla guida di DUMB, una libreria C per player di MOD, sezione deprecated]
Immaginate poi cosa avrei mai potuto pensare quando sfogliando la licenza della stessa libreria mi sono trovato di fronte ad un'annotazione del genere:

[punto 4 della licenza GLP-like]
"4. If you are using the Program in someone else's bedroom on any Monday at 3:05 pm, you are not allowed to modify the Program for ten minutes. [This clause provided by Inphernic; every licence should contain at least one clause, the reasoning behind which is far from obvious.]"
Incredibile!

Ad ogni modo, finchè si da un occhiata a piccoli progetti, fatti da pochi simpatici programmatori, non credo ci sia da stupirsi più di tanto...

Ma immaginate qualcosa di grosso, ma veramente grosso. Immaginate per un attimo un azienda, anzi una multinazionale come la Sun. E poi pensate ad un qualcosa come le Java Collections API. Infine pensate ad un GURU della programmazione, dell'algoritmica e dell'ingegneria (...e di molto altro ancora) quale Josh Bloch.

Ebbene, se vi trovate per caso i sorgenti del SDK 1.4 di Java (per la 1.5 non ho ancora controllato...), package java.util, classe Arrays, riga 460.

Noterete subito che si tratta di una classe estremamente procedurale e ricca di codice praticamente identico. Ed ecco che anche lui, uno dei migliori al mondo nel campo, l'autore di un capolavoro di Design e pulizia qual'è appunto Java Collections Framework, eccolo commentare così quel codice così poco pulito:

/*
* The code for each of the seven primitive types is largely identical.
* C'est la vie.
*/
Ecco cosa intendo io per grande. Lui è davvero grande. E lo ha dimostrato anche con quel commento...

Quindi cari colleghi, che tra una riga di codice e l'altra vi preoccupate di un commento non proprio troppo ortodosso... fatelo pure, se l'ha fatto lui siete tutti giustificati...

c'est la vie!


PS
ho saputo che recentemente il mitico Josh Bloch ha lasciato la Sun per passare a Google. E' inutile dire quanto questa notizia mi rattristi, in quanto credo che la Sun aveva bisogno di persone come lui. Sono tuttavia felice che le sue abilità trovino sfogo proprio lì dove si fa un enorme esaltazione del talento, ovvero a Google.

Good luck Josh!