BlueJ was developed to support the learning and teaching of object-oriented programming, and its design differs from other development environments as a result.[1] The main screen graphically shows the class structure of an application under development (in a UML-like diagram), and objects can be interactively created and tested. This interaction facility, combined with a clean, simple user interface, allows easy experimentation with objects under development. Object-oriented concepts (classes, objects, communication through method calls) are represented visually and in its interaction design in the interface.
The development of BlueJ was started in 1999 by Michael Kölling and John Rosenberg at Monash University, as a successor to the Blue[2] system. BlueJ is an IDE (Integrated Development Environment). Blue was an integrated system with its own programming language and environment, and was a relative of the Eiffel language. BlueJ implements the Blue environment design for the Java programming language.
BlueJ supports programming in Java and in Stride.[3] Java support has been provided in BlueJ since its inception, while Stride support was added in 2017.
^Kölling, M. (2008). "Using BlueJ to Introduce Programming"(PDF). In Bennedsen, J.; Caspersen, M.E; Kölling, M. (eds.). Reflections on the Teaching of Programming. Lecture Notes in Computer Science. Vol. 4821. Springer. pp. 182–196. ISBN978-3-540-77933-9.