1.7. Java Development Environments (optional)¶
The tool that we use to compile a Java source file into a Java class file is called a compiler. Most programmers use an Integrated Development Environment (IDE) that has the compiler built in and helps you write, compile, run, and debug programs.
You can learn Java by just using the interactive coding panels called Active Code in this e-book. If you are logged in, the Active Code will remember your changes and even show you a history of your changes to the code if you click on Load History.
However, it’s a good idea to also try a Java IDE to build code outside of this e-book, especially to try coding with user input which Active Code cannot do. There are many Java IDEs available. Here are some of most popular ones:
1.7.1. repl.it¶
Repl.it (https://repl.it/) is a great online development environment that we would recommend using during this course. You can login with a Google account or make an account and create new projects (click the + new repl button and type in Java) and all of your code will be kept online in your account. Repl is a great option if you are using a Chromebook or you cannot install software on your computer or you want an easy no-installation option. Repl.it also has a free K12 public school plan (https://repl.it/account/checkout/k12_per_seat) where public school teachers can apply to get a repl.it online classroom.
Some of the Active Code samples in this e-book course also include a link to a repl.it project. These projects are public and as soon as you try to change the code, it will make a copy for you in your own repl.it account. If you are pair programming, there is also a multiplayer icon on the left in repl where you can share your code with another person, and you can both make changes at the same time.
Online IDEs usually cannot use graphical user interfaces and just do input and output as text. However, repl.it has a new beta that does allow the use of the javax.swing graphical user interface library! You need to choose Java Swing instead of just Java to get this environment when you start a new repl project.
1.7.2. Eclipse¶
Eclipse (https://www.eclipse.org/downloads/packages/installer) is what many professional Java programmers use. It may be a little complex for beginners. Here are some installation and configuration instructions for Eclipse: http://skylit.com/javamethods/faqs/Eclipse.pdf.
1.7.3. Dr. Java¶
DrJava (from http://DrJava.org) is a free, simple, easy to install and use development environment. One nice feature is the interactions pane at the bottom which lets you try out Java code without having to create a class first.
1.7.4. BlueJ¶
BlueJ (https://www.bluej.org/) is a free Java IDE designed for beginners. It is built to explore objects and object-oriented programming and has a teachers’ community as well as a playlist of videos online https://www.youtube.com/playlist?list=PLYPWr4ErjcnzWB95MVvlKArO6PIfv1fHd to go with the BlueJ Object-First Java book.
1.7.5. jGRASP¶
jGRASP (https://www.jgrasp.org/) is a free lightweight development environment, created specifically to provide automatic generation of software visualizations. jGRASP is implemented in Java, and runs on all platforms with a Java Virtual Machine (Java version 1.5 or higher). jGRASP produces Control Structure Diagrams (CSDs) for Java, C, C++, Objective-C, Python, Ada, and VHDL; Complexity Profile Graphs (CPGs) for Java and Ada; UML class diagrams for Java; and has dynamic object viewers and a viewer canvas that work in conjunction with an integrated debugger and workbench for Java. The site includes both intro video and PDF tutorials.
1.7.6. IntelliJ¶
IntelliJ (https://www.jetbrains.com/idea/) is a free Java IDE from JetBrains which many professionals use. It is a little easier to configure than Eclipse below. Here is a guide on how to set up IntelliJ: https://www.jetbrains.com/help/idea/install-and-set-up-product.html.
1.7.7. Netbeans¶
Netbeans (https://netbeans.org/) is one of the original Java IDEs. Here is a tutorial on how to set it up: https://netbeans.org/kb/docs/java/quickstart.html.