Cocktail party with James Gosling

I was fortunate enough to be invited to a party with James Gosling, hosted by Sun and Majitek, and was further fortunate enough to ask James some questions.
On top of my list (and I’m sure was the top of most Java developers list) was;
Have you punished the person responsible for the Calendar classes ?
To James’ credit, he handled it diplomatically, and replied “We can’t, it was IBM”.
So, not only WSAD, but the Calendar classes. Is there no end to the evil that IBM can perpetrate upon the Java community ?

Advertisements

6 thoughts on “Cocktail party with James Gosling

  1. You should have asked him this:
    “If declarative typing is so essential, why is it that casting is required so often? Doesn’t the cognitive dissonance there build up over time?”

  2. The other thing James mentioned is that a Smalltalk implementation should be very easy using the standard JVM, because that’s how he designed it in the first place.
    Of course Steve Hayes was miffed as I then proceeded to taunt him about it…. Java is like Smalltalk, Java is like Smalltalk 😉
    The C syntax was a deliberate decision designed to appeal to the large number of C/C++ programmers to move them to Java.
    It’s an interesting question that you’ve specifically raised. I find that I don’t cast much, and when I do, it’s in one place, normally the place that things are removed from a Collection. If I look at code and see lots of casting everywhere, it’s (IMHO) normally a sign of poor encapsulation of concerns.

  3. Apart from the stuff up with the only-sometimes zero-based consts, and the fact that to get a java.util.Date is implemented via a method called getTime() what exactly is wrong with the Calendar classes? I use them all the time and don’t find any major issues with them.

  4. Off the top of my head.
    Calendar is mutable – bad.
    Constructing a Calendar, using the set* methods can result in different behaviour depending on the order the methods are called – bad.
    There is no way to get the number of days between two Calendars – bad.

Comments are closed.