Java 6 End-Of-Life shifted to November

This is possibly a case of

      Warning: Dates in your diary might be closer than they appear.

Oracle just announced that the “EOL date” for Java 6 has been shifted back. From July to November. While it is undoubtedly a relief for many that Java 6 has an additional four month of life left (for many of those few at least, who are aware of this at all) it still means one thing: End of life for Java 6 is in November! 2012!

Yes, that means this year. You didn’t know that, did you?

Now, this doesn’t mean that Java 6 will topple over dead on 1st November. It will, of course, continue to work for some time. But it does mean that Oracle will stop issuing updates and releases after that date for free. (You can still buy support from Oracle, but that will really only be an option for large businesses.)

So, while this will come as somewhat of a shock to some, it this too soon? That depends how you view it. Java 7 has been in full public release since July 2011, so it will be well over a year of the next major version being on the market by the time Java 6 bites the dust. Time enough for most to update?

Let’s look at where people really are. Here is the distribution of Java versions of users of BlueJ:

Java versions

BlueJ users by Java version

This shows us: Java 7 is currently used by just under a third of BlueJ users. (For Greenfoot, this number is a little lower than this.) About 3% still use Java 5.

So, while Java 7 has been out for a while, Java 6 is still by far the dominant version. The reality is: Many universities and schools update only infrequently, and updates to Java 7 haven’t happened yet in many places.

We would hope that this changes over summer: many educational institutions upgrade their lab software over the norther hemisphere summer break, so that might give a good boost to Java 7 before November.

But will most of the Java 6 installations disappear by then? Most likely not. Especially on Mac OS, it’s difficult: Java 7 isn’t even in public release for that platform yet.

So, if you’re responsible for Java on your institution’s machines: time to think about moving on!


JoC #17: Bouncy coloured balls

      Debugging is twice as hard as writing the code in the first place.
      Therefore, if you write the code as cleverly as possible, you are,
      by definition, not smart enough to debug it.
            — Brian W. Kernighan.

We’re leaving the ‘Trick, the turtle’ scenario this week to make something new completely from scratch.

The main purpose here is to piece together everything we have seen to far about the structure of a class, and create a complete new class (with fields, constructors and methods).

Yes, I know, this doesn’t sound too exciting. I can see from the video view numbers that videos dealing with review of concepts aren’t quite as popular as the ones showing new stuff.

So: Don’t worry. I’ve thrown a few interesting new things in as well: dynamically changing images, string concatenation and multiple constructors are some of them. Oh yes, and a first run-in with a runtime exception!

Download video

Concepts discussedclass structure, field, constructor, method, default constructor, changing images

JoC #16: Adding a score counter

      Habe Mut, dich deines eigenen Verstandes zu bedienen.
            — Immanuel Kant

Welcome back after a little break in putting out new episodes.

I was at a conference for a week or so (Melbourne, other side of the world!), and then I had to get settled into my time zone again, but I’m back! I still feel a little jet-lagged, so if my voice sounds even more drab than usual in this episode – I blame the time zones.

This episode deals with an incredibly important concept: object interaction. (It could actually also have been titled “Object interaction – a second look”.) We started to look at object interaction a little bit in Episode #15, and now we’re really getting stuck in. We’re throwing around terms like “object references” and “constructors”.

Yes, we’re slowly cranking up to a more professional level here. So sit back, switch your brain on, and watch. And of course — as always — after watching: Fire up Greenfoot, and get coding yourself!

Download video

Oh, and one more thing: I am showing how to implement a score counter here, because several people have asked me how to do that. So if you have a question, or something you want explained: tell me in the comments, and I’ll try to fit it in in one of the future episodes.

Update: This episode shows how to use a ready-made counter object. If you are interested in making such a counter yourself, you can now look at Episode 26.

Concepts discussedobject interaction, constructor, field, local variable, assignment, external method call