BlueJ
Original author(s) | Michael Kölling and John Rosenberg |
---|---|
Developer(s) | BlueJ Team |
Stable release | 5.0.1
/ April 30, 2021[1] |
Written in | Java |
Operating system | Cross-platform |
Platform | Java |
Available in | Multilingual |
Type | Integrated development environment |
License | GPL-2.0-or-later with the Classpath exception |
Website | bluej |
BlueJ is an integrated development environment (IDE) for the Java programming language, developed mainly for educational purposes, but also suitable for small-scale software development. It runs with the help of Java Development Kit (JDK)
BlueJ was developed to support the learning and teaching of object-oriented programming, and its design differs from other development environments as a result.[2] 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.
History[]
The development of BlueJ was started in 1999 by Michael Kölling and John Rosenberg at Monash University, as a successor to the [3] 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.
In March 2009, the BlueJ project became free and open source software, and licensed under GPL-2.0-or-later with the Classpath exception.
BlueJ is currently being maintained by a team at King's College London, England, where Kölling works.
Functionality[]
BlueJ has a simpler interface than most professional IDEs, but its functionality is not a subset of those kinds of environment. While many of the standard development tools exist, such as an editor, compiler and runtime environment, it also offers tools that are specific to its educational goals and not found in this form in common professional environments. These includes interactive object creation and method invocation (via the "Object Bench"), simplified debugging and teamwork controls, interactive, line-based expression and statement evaluation (via the "Code Pad"), and automated creation of JUnit classes from recordings of interactive test sequences.
Visualisation[]
The BlueJ interface emphasises class structure (in preference of source code) by showing a UML-like diagram as its main screen. Class structures can be manipulated by the user, and the class relation display is generated automatically from the source code.
Source level structure is visualised through scope highlighting (the visual emphasis of lexical scope through use of graphical frames and background colour).
Interaction and experimentation[]
Supported interaction features include the ability to create objects interactively for ad-hoc testing and experimentation, and support for interactive invocation of public methods. Parameters may be passed and objects can be composed in interactive calls.
Interactive tests may be recorded and stored as standard unit test classes. Code fragments can be evaluated interactively in the Code Pad, which provides a Java-based REPL.
Supported language[]
BlueJ supports programming in Java and in Stride.[4] Java support has been provided in BlueJ since its inception, while Stride support was added in 2017.
See also[]
References[]
- ^ "Version History". Retrieved 2021-04-30.
- ^ 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. ISBN 978-3-540-77933-9.
- ^ Kölling, M.; Rosenberg, J. (1996). "An Object-Oriented Program Development Environment for the First Programming Course" (PDF). Proceedings of the 27th SIGCSE Technical Symposiumon Computer Science Education. ACM. pp. 83–87. doi:10.1145/236462.236514. ISBN 0-89791-757-X.
- ^ Stride
Bibliography[]
- Barnes, David J.; Kölling, Michael (May 12, 2011). Objects First with Java: A Practical Introduction Using BlueJ (5th ed.). Prentice Hall. p. 560. ISBN 978-0-13-249266-9.
- Kölling, Michael; Quig, Bruce; Patterson, Andrew; Rosenberg, John (Aug 9, 2010). "The BlueJ System and its Pedagogy". Computer Science Education. 13 (4): 249–268. CiteSeerX 10.1.1.22.3975. doi:10.1076/csed.13.4.249.17496. S2CID 2805887.
External links[]
- Integrated development environments
- Free integrated development environments
- Cross-platform free software
- Free software programmed in Java (programming language)
- Java development tools
- Java platform
- Linux programming tools
- Software development kits
- MacOS programming tools
- Programming tools for Windows
- Linux software
- Educational programming languages
- Pedagogic integrated development environments