1. What is the history of Java?
The history of Java is quite interesting! A small team of Sun Microsystems (acquired by Oracle in 2009) engineers, including James Gosling, Mike Sheridan and Patrick Naughton initiated the Java language project in June, 1991. The team was called “Green Team”, and the original goal of the project was to design a language for small electronic appliances. At first, the language was called “Greentalk” by James Gosling, and after that, it was called “Oak”. Why Oak? Well, some people say that oak is a symbol of strength and a national tree of the United States, and some other people believe that it’s because there was an oak tree outside of James Gosling’s office!

In 1995, the team found out that Oak was already trademarked by another company! The team gathered to choose a new name. The suggested words were “dynamic”, “revolutionary”, “Silk”, “jolt”, “DNA”, etc. They wanted something that reflected the essence of the technology: revolutionary, dynamic, lively, cool, unique, and easy to spell and fun to say. According to James Gosling, “Java was one of the top choices along with Silk“. Since Java was so unique, most of the team members preferred Java than other names. (Source: Javatpoint)

2. What is API?
Computer languages have strict rules of usage. If you do not follow the rules when writing a program, the computer will not be able to understand it! An API defines and specifies such rules.
API stands for Application Programming Interface. According to the Wikipedia, an API defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc. It can also provide extension mechanisms so that users can extend existing functionality in various ways and to varying degrees.
The Java API is a library of pre-written classes, that are free to use, included in the Java development environment.The library contains components for managing input, database programming, and much much more. The complete list can be found at Oracles website: https://docs.oracle.com/javase/8/docs/api/.
3. What is JDK?
The Java Development Kit (JDK) is a basic set of tools used for developing Java applications and applets. JDK comes from Oracle, the owner of Java, and it contains a compiler, an interpreter, the Applet Viewer program, other utility programs, the standard Java library, documentation, and examples. Before you can develop a Java application, you must download and install JDK.
Java is a very powerful language that can be used in many ways. It comes in three editions:
- Java Standard Edition (Java SE) to develop client – side applications. The applications can run standalone or as applets running from a web browser.
- Java Enterprise Edition (Java EE) to develop server – side applications.
- Java Micro Edition (Java ME) to develop applications for mobile devices.
In this course, we use Java SE to introduce Java programming. There are many versions of Java SE. To prepare for the AP Computer Science A exam, we choose to use Java SE 8. You need to download JDK 1.8, also known as Java 8 or JDK 8.
You can download JDK 8 at the Oracle website: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
4. What is JRE?
The program for running Java program is known as JRE (Java Runtime Environment). The JRE is a subset of JDK. The following diagram shows the relationship among JDK, JRE and JVM (Java Virtual Machine, please refer to the previous lesson if you don’t remember it).

5. What is IDE?
Do you like command lines? Once JDK is downloaded and installed, you can enter Java program from a command line, compile, test and run it. The command line is pretty cool but not so user friendly especially for beginners. Instead of using the JDK, you can also download and install a Java Development tool like Eclipse, NetBeans, DrJava and TextPad – software that provides an Integrated Development Environment (IDE) for developing Java programs quickly. These software provide graphical user interface (GUI) that greatly enhance user experience.
In our course, we uses the Eclipse IDE for Java Developers. Before you download the IDE, please download the JDK first! The Eclipse IDE can be downloaded here https://www.eclipse.org/downloads/packages/release/kepler/sr1/eclipse-ide-java-developers.
6. List of sources and references
- https://www.javatpoint.com/history-of-java
- https://www.w3schools.com/java/java_packages.asp
- Beginnersbook.com (JDK, JRE and JVM diagram)
- Liang, Introduction to Java Programming
- Litvin, Java Methods