Recentemente, mi sono imbattuto in una vecchia intervista con Dennis Ritchie, Bjarne Stroustrup e James Gosling , pubblicata nel 2000. Ognuno di loro parlava del linguaggio con il quale erano più coinvolti, vale a dire C (Ritchie), C ++ (Stroustrup) e Java (Gosling).
È un articolo molto interessante in sé, ma ciò che ha attirato la mia attenzione in particolare è stata la seguente citazione di Gosling (enfasi mia):
Q: If you could go back in time, knowing what you know now, what might you do differently in designing Java? Why?
A: There are a bunch of things that I'd do differently. There are a number of things that I'm not entirely happy with and it's not clear what the right answer is. I'm not really happy with the schism between interfaces and classes; in many ways it feels like the right solution wouldn't get in the way. [...]
Non ha elaborato questo "scisma", ma è abbastanza ovvio (almeno per me) che la sua risposta si riferisca in qualche modo al design del linguaggio Java.
Quindi cosa intendeva Gosling con la citazione di cui sopra, e la situazione è cambiata negli ultimi 18 anni da quando è stato pubblicato l'intervista?