This Java history article presents you the timeline of events and how Java evolved to its current state. As part of JavaPapers, I wanted to record this precious history time line. This historical information is collated from Internet and various related sources. I did my best to provide accurate information and if you find any discrepancies please comment below.
Project named “Green Project” was started. Green project’s goal was to support home consumer devices. Consumer devices to be made intelliegent so they can interact with each other and they can be controlled via a remote. Bill Joy, James Gosling, Mike Sheradin, Patrick Naughton were the key members of the Green Project.
James Gosling was the software lead and architect. His initial objective was to find a suitable language for Green Project. He chose C++ and wrote extensions wherever there were gaps. Then the features were not sufficient for the project needs and creating a new language was the next move. He started working on the new language and named it as “Oak”, there was an Oak tree outside his office window.
SPARCstation 10’s architect Ed Frank joins Green project to lead the hardware work. Objective was to develop a hardware prototype and demonstrate the capabilities. The project was code named star-seven (*7). Team members of star 7 project were Craig Forrest, Al Frazier, Ed Frank, James Gosling, Patrick Naughton, Joe Parlang, Jon Payne, Mike Sheridan, Chris Warth.
Star-seven (*7) working prototype with a GUI was completed and demonstrated. At this time Green project has created a new language, an operating system, a hardware platform and an interface. Below is the demo of PDA like star 7 prototype and demo was given by James Gosling himself. I recommend you to go through the complete demo and feel amazed on what they have done during 1991 – 1992.
FirstPerson attempts to bag order from Time-Warner for a TV set-top box interactive system. By this time, green project was not proving successful and Time-Warner order was also lost. From home consumer electronics the focus was shifted to TV and set-top box related platform.
Even TV interactive market was not fruitful for FirstPerson and it was closed. Employees absorbed into Sun. Liveoak project started, aim was to create an operating system by using Oak.
Naughton and Jonatha Payne starts working on a Java based web browser named HotJava and this project gets wider acceptance from the management and progresses.
JDK 1.2 code named Playgroud released. This version is mostly called Java 2 and was the most popular release which witnessed major conversions. Major features were collections framework, JIT compiler, policy tool, Java foundation classes, Java 2D class libraries, major enhancement in JDBC.
J2SE 5.0 code named Tiger released. Major features were Generics, Autoboxing, Annotations, Instrumentation. If you wish a detailed account of version and its features for all Java JDK, refer my old article.
Java was announced to be open source and it was controversial. The way the license was designed contradicted the general open source term. May be we should call it half-sourced.
Java SE 7 code named Dolphin released. This release was done after 5 long years and only this release has taken this much duration. Major features were dynamic language support, Java nio Package, multiple exception handling, try with resources and lots of minor enhancements.
Java SE 8 was released. This is one of the major release in Java in its history. Major features were Lambda Expressions, Pipelines and Streams, Date and Time API , Default Methods, Type Annotations, Nashhorn JavaScript Engine, Concurrent Accumulators, Parallel operations, PermGen Space Removed, TLS SNI.
Hello Joe. Thanks for this excellently crafted article. I appreciate your work for Java. This Java history information is the best and most comprehensive ever found in Internet. Good to see James Gosling’s demo video.
Thanks joe, really very good source of knowledge and very helpful content. i want to suggest one more thing, with versions of java, if you include major changes or extra features in versions. its more helpful.
Thanks Joe
Great and hard work put by you is helping others (including me) a lot.
Is that possible to talk about J2EE evolution in the same way, as there are diff components in it?
[…] Java generics was implemented in order to make the Java collections framework even better. Generics was introduced in J2SE 5.0. Java collections’ classes were not designed to be used for any particular object. For example […]
[…] SE 8 is one of the most feature packed release in the Java history. In this article, let us go through the highlights of the core features of Java 8. Following list […]
[…] Replacing the supertype’s instance with a subtype’s instance. This is called inclusion polymorphism or subtype polymorphism. This is covariant type and the reverse of it is contravariant. We have discussed the substitution principle and covariant types, contravariant and invariant earlier in the linked tutorial. This is demonstrated with a code example. Java supports subtype polymorphism from Java / JDK version 1.5. […]
Hi Joe,
Many people may know the subject but 90% of those may not be good presenters. You definitely stood in those 10% who have good presentation skills.
Thanks for detailed explanation.
Joe, your work for Java is impressive. Do you take Java classes, may be over net through skype or something like that? I am a C programmer and started learning Java. Most of the times I refer you Java fundamentals tutorials and they are very helpful, thanks. By any chance if you offer Java coaching, pls mail me. Thanks.
[…] This Java tutorial is to learn about TransferQueue which is concurrent collection. TransferQueue is an interface and a type of BlockingQueue. TransferQueue extends from BlockingQueue interface to add behavior to it. In a TransferQueue producers may wait for consumers to receive elements. TransferQueue was added in Java SE 7. […]
hi joe,
I appreciate your work. This blog is the best knowledge and videos combination which I have ever seen. Once again I would like to thank you for doing a tremendous job. Please keep it up.
Hello Joe. Thanks for this excellently crafted article. I appreciate your work for Java. This Java history information is the best and most comprehensive ever found in Internet. Good to see James Gosling’s demo video.
Thanks for your Java blog – From heart! It helps many many beginners in the Java world. Thanks.
Thanks Joe. Really very good source of knowledge for us.
This is the best Java timeline and historical events found on net. Thanks.
Thanx Joe, Great work, very helpful. :)
Thanks joe, really very good source of knowledge and very helpful content. i want to suggest one more thing, with versions of java, if you include major changes or extra features in versions. its more helpful.
Santhosh,
Added the major features along with the versions.
What about java 8 with lambda expression. Can you explain what is lambda expression?
Thanks Joe for this impressive account of events. Nicely abridged and the presentation is cool. Complete info! Thanks.
Nice Work Joe!!! But please also include info about code names of java versions.
I have written about lambda expressions earlier:
https://javapapers.com/core-java/lambda-expression-in-java-8/
https://javapapers.com/core-java/java-lambda-expression-examples/
For java 7 Code named Dolphin
Wow this is the info I was searching for. You saved! Complete historical events on single page, cool man
Thanks Joe
Great and hard work put by you is helping others (including me) a lot.
Is that possible to talk about J2EE evolution in the same way, as there are diff components in it?
Very Good Stuff. Really appreciating your hardwork
Hi Joe! Your passion towards Java is awesome..
I’m following your blog from past few months and
I got the an opportunity to prove myself in Java because you.
I just fall in love with java and you are one of the reason.
Thank you so much.
nice thing about this article is, it is comprehensive. appreciate it!
This is the best article i ever read
I did not know about the Green project and all that interesting prelude. Thanks to this author for presenting us.
[…] Java generics was implemented in order to make the Java collections framework even better. Generics was introduced in J2SE 5.0. Java collections’ classes were not designed to be used for any particular object. For example […]
The best Java history information ever. Good you recorded it for the future. I have printed this info in my cubicle, thanks.
[…] SE 8 is one of the most feature packed release in the Java history. In this article, let us go through the highlights of the core features of Java 8. Following list […]
[…] Replacing the supertype’s instance with a subtype’s instance. This is called inclusion polymorphism or subtype polymorphism. This is covariant type and the reverse of it is contravariant. We have discussed the substitution principle and covariant types, contravariant and invariant earlier in the linked tutorial. This is demonstrated with a code example. Java supports subtype polymorphism from Java / JDK version 1.5. […]
Hi Joe, How you added tree menu to your website with wordpress
Wow, thanks Surendra. I feel so happy when someone tells that I have made a tiny difference. Thanks, it keeps me motivated.
good information joe you are doing a great job thanq..so…much..joe
great job joe i want to learn more from you about java. do you have idea about putting java video tutorials?
it is useful thank you. This is the best page for “Java History Timeline”..
it was useful thank you.
Hi Joe,
Many people may know the subject but 90% of those may not be good presenters. You definitely stood in those 10% who have good presentation skills.
Thanks for detailed explanation.
Thanks,
Saidulu.
Thanks Joe. Appreciate on this source of knowledge about Java.
Joe, your work for Java is impressive. Do you take Java classes, may be over net through skype or something like that? I am a C programmer and started learning Java. Most of the times I refer you Java fundamentals tutorials and they are very helpful, thanks. By any chance if you offer Java coaching, pls mail me. Thanks.
Very informative sir. Thanks a lot for your efforts to provide us this valuable stuff.
Can you make this as a PDF and allow for download? Java history information presented is nice and feels complete.
Hi Joe, your blog is a great source to learn Java for beginners like me, thank you so much.
[…] This Java tutorial is to learn about TransferQueue which is concurrent collection. TransferQueue is an interface and a type of BlockingQueue. TransferQueue extends from BlockingQueue interface to add behavior to it. In a TransferQueue producers may wait for consumers to receive elements. TransferQueue was added in Java SE 7. […]
This is the best Java history information found ever on single page. Thanks.
hi joe,
I appreciate your work. This blog is the best knowledge and videos combination which I have ever seen. Once again I would like to thank you for doing a tremendous job. Please keep it up.
Thank you for this great work!!!!!!!!!!!!!!