Join David Gassner for an in-depth discussion in this video The history of Java, part of Java 8 Essential Training.
- Java has a long history. It started in 1991 when Sun Microsystems began something called The Green project. The goal was to create a new portable programming language. One that could be used to create applications that could run on multiple operating systems without having to be recompiled or ported. The original name of the language was Oak for a large Oak tree that stood outside the windows of the developer's offices. But by the time the language was first released it was renamed Java, supposedly because of the amount of coffee that the developers were drinking.
Java was first released to the public in 1995 and starting then the phrase Write Once, Run Everywhere was popularized. Again, the goal of Java was that you'd be able to write a program and you'd be able to compile it once, and then run it in Unix, Solaris, Windows, Mac, and other operating systems for which there was a Java virtual machine. Java evolved swiftly. In the early years there was a new release about once a year. In 1996, Sun released the first complete Java developer's kit or JDK, supporting a broad range of application development tasks.
Version 1.1 the following year saw improvements to the object oriented nature of Java with inner classes and JavaBeans, the JDBC API for talking to databases, RMI or remote method invocation for distributed systems, and reflection for improving the dynamic capabilities of the language. In 1998 Java was rebranded as J2SE or Java 2 standard edition. The standard edition moniker distinguished it from enterprise edition, which was the framework for building large scale web applications.
The version number was Java 2, version 1.2. A little confusing and the 2 after the J stuck around for many, many years. But the versions were incremented using point numbers. 1.1, 1.2, 1.3, and so on. Java 2 SE 1.2 included the swing graphical API for building desktop applications, the collections framework for managing multiple data elements, and new tools including the just in time compiler and the browser-based Java plugin to standardize the version of Java across the web.
A couple of years later J2SE 1.3 added new tools including the HotSpot JVM, a new version of the Java virtual machine, the sound API and improved debugging. In 2002, version 1.4 added new tools in the language. And then in 2004, and a major milestone, J2SE 5.0 was released, known internally as 1.5. From this point forward Java would be known as Java 5, Java 6, Java 7, Java 8 and so on.
But internally it still maintained the point versions. So, even now the most recent version of Java has a marketing tag of Java SE 8 but internally it's Java SE 1.8. Java 5 was a major change for the language. A new feature called Generics was implemented that allowed you to strongly data tag elements belonging to collections, enumerations, variable arguments, and looping with for each were all improved.
In terms of the core language syntax this was really the last major change. Everything else has been incremental. Features that you could choose to use or not to use depending on the kind of programming you were doing. In 2006, Java 6 appeared. It improved performance for database connectivity, improved graphical programming, and added other small features to the language. And after that the pace of change slowed. From 2006 to 2010, Sun Microsystems released occasional maintenance releases and so you'd have Java 6 maintenance release 10, 11, 12, and so on.
But it took four years until a new major version came out and then in 2010 Oracle bought Sun Microsystems and all of its assets including the Java programming language. Oracle Corporation now manages Java, along with JCP, the Java Community Process that Sun began, and after Oracle purchased Java the pace of change increased again. In 2011, we got J2 SE 7. It included significant new syntax changes listed here and some other small scale tools.
And then the most recent version as of the time of this recording was released in 2014. Java SE 8 implemented lambda expressions, a new date/time API, and other syntax improvements. And we're expecting another version of Java down the road, Java SE 9. It's currently planned for release in September 2016. According to the current plan it'll implement modularization of the Java Runtime libraries and at one point it included a plan for a new lightweight JSON API.
But doubts come into question. We won't know for sure what's going to be in Java SE 9 until about six months before it's finally released. But for now, Java SE 8 is the most recent major version of Java for everything except Android development. For Android developers you'll want to look to the features of Java 6 and Java 7.
- Understanding the history and principles of Java
- Installing Java, IntelliJ IDEA, and BlueJ
- Creating a Java project
- Working with variables, values, and expressions
- Working with object data types
- Building, comparing, and parsing strings
- Debugging and exception handling
- Creating loops and reusable code
- Passing arguments by reference or value
- Using simple and complex arrays
- Creating custom classes
- Understanding inheritance and polymorphism
- Managing files with Java libraries
- Documenting code with Javadoc
- Packaging classes in JAR files