Java and the JDK/SDK: The Java language was originally invented and maintained by Sun Microsystems. In 2010, Sun merged with Oracle; Oracle continues to maintain the Java language and tools. I have probably not found and changed all the references to "Sun" in these notes; just translate to "Oracle"!
Oracle makes available a basic set of programs for compiling and running Java programs. The set of programs is called the Java Software Development Kit, usually referred to as the "JDK" or the "SDK". (Both of these acronyms mean the same thing; Sun has switched back and forth between them over time, just to add to everyone's confusion! I will try to use "JDK" consistently in these notes.)
The JDK is very simple. It does not include an editor or a fancy graphical user interface. Many programmers, especially those who are used to command-line systems such as DOS or Linux, like using the JDK by itself. For users who prefer something fancier, there are many Java development tools called Integrated Development Environments (IDEs). An IDE generally consists of an editor, compiler and interpreter, plus other tools such as debuggers and profilers, all wrapped up in a single graphical user interface. Some Java IDEs use the Sun Java compiler and interpreter. Some others use their own customized compiler and/or interpreter.
JREs: One more acronym to confuse you! A JRE is a Java Runtime Environment. It's essentially a subset of a JDK, containing an interpreter but not a compiler. With a JRE alone, you can run Java programs but you can't create and compile them.
Recommended Java Tools: I recommend that when you're starting out with Java at Queen's you use one of the following tools to create and run your Java programs. Click on a name for more information about how to install and use the tool.
Java Tools At Home: The Java tools listed above can be downloaded free of charge for your home computer. There are many, many other tools available, some free and some quite expensive. Several students in recent semesters of CISC 124 have been using JGrasp, which is free and sounds like another fairly basic but very useful Java programming environment.
If you own your own computer (as most students taking CISC courses do), you of course may experiment with other Java tools. For assignments in Queen's courses, I highly recommend learning how to use one of the three tools listed above because they're available on the CASlab computers. Even if you plan to do your assignments on your own computer, you should know how to use one of the CASlab tools for labs and help sessions. And you never know when your computer will break down and you'll have to finish an assignment in a lab. (A good time to remind you about the importance of frequent backups too!)
If you're doing assignments for a Queen's course, consult your instructor to find out if there are any restrictions on which tools and which Java versions are acceptable. In general, beware of tools which are not based on standard Sun Java, particularly Microsoft J++. Programs written with such tools may not work for the TAs marking your programs. Remember that your instructor and TA can't be experts in every Java tool on the market, so if you have problems with a tool on your home computer you may be on your own.
Macintosh Users: BlueJ and Eclipse both work on Macs. Macs also come equipped with some simple Java tools, similar to using the JDK with DOS. If your machine is old, you may have to upgrade to a newer version of these tools. I don't have a Mac to experiment with, so you'll have to consult other Mac users for help with these. Try the Moodle forum for your course to see if other students are using Macs.