giovedì, ottobre 05, 2006

In edicola

Stamane mi sono fermato in edicola per comprare il giornale.
"la Repubblica" dico.
"sono in sciopero" mi rispondono.
Alché penso di comprare il Corriere (della Sera, intendo).
Lo davano solo in omaggio con la gazzetta dello sport.

giovedì, agosto 03, 2006

OOP explained: il polimorfismo

Secondo me la programmazione orientata agli oggetti (OOP) non è difficile da capire: sono gli esempi che normalmente vengono usati che non spiegano bene i concetti.

Qui invece il polimorfismo è invece spiegato come non avrei mai immaginato...


giovedì, giugno 29, 2006

Interfacce e metodi "opzionali" :-((

Ieri dedicavo un po' di tempo alle slide per il corso Java Beginners del JugTO [1]... e mi sono accorto una volta in più della mia ignoranza.
Ad esempio non conoscevo il fatto che le interfacce potessero avere dei metodi opzionali.
Chi è più esperto e ferrato di me ha già capito che sto andando a sparlare del collection framework :-):

"All of the modification methods in the collection interfaces are labeled optional. Some implementations may not perform one or more of these operations, throwing a runtime exception (UnsupportedOperationException) if they are attempted. Implementations must specify in their documentation which optional operations they support."

Ad esempio queste istruzioni, perfettamente legali per il compilatore, a runtime riservano delle sorprese:

Set aSet = someHashMap.keySet();

//BANG:UnsupportedOperationException
aSet.addAll(someCollection);

A me sta cosa piace proprio per niente:
- rende difficile e "pericoloso" programmare per interfacce
- è diseducativa (lo fanno nel jdk... vuoi che non possa farlo io??)

Possibile che il JDK continui a riservare sorprese di questo tipo?