Robert Stephenson at weblogs.java.net:
In a session Thursday afternoon, Michael Kölling and John Rosenberg demonstrated BlueJ, a Java IDE they had developed over the last seven years for teaching O-O programming.
BlueJ’s guiding philosophy is to make it possible to teach object-oriented concepts first, before students even begin to write code. It does so by representing the objects in a UML-like graphical format, and showing their instances as boxes on a tray at the bottom of the screen. Clicking on an instance brings up a list of its methods, which may be executed directly. The result is so stunning that, once you see it demonstrated, you wonder how we could ever have taught programming any other way.
A friend of mine took a Java programming class at a mostly liberal arts school a few semesters ago. I can assure you that his experience with BlueJ was less than positive. I tried to help him out a few times, but unfortunately I don’t think his teacher had a grasp on object oriented programming or Java. His teacher took the ‘follow this list of instructions’ way of teaching, which requires you to do work without actually learning what is going on. Those instructions unfortunately made no sense.
I don’t want to harshly judge BlueJ, I’m sure that it is quite a good program. The problem in my friend’s case is a teacher without a clue. I’m sure that when coupled with a good teacher, this program can make learning Java and OOP easy. BlueJ lowers the barriers for learning Java but it also has the ability to create ignorant and confused developers. This is not good.