Java is a widely used and, the long-lasting programming language, is celebrating its 22nd anniversary, remains immensely popular. To put that into perspective, if Java was a person, they would be old enough to have finished college, have a celebratory alcoholic drink, gamble in Iowa and get married without parental consent in Mississippi! A lot of people today might take for granted the impact Java has had, not just on computing, but on the day-to-day lives of non-programming folk.

It was designed to have the look and feel of the C++ language and enforces an Object-Oriented Programming model. It is on our smartphones, powering Android devices and millions of apps. It reads our credit and debit cards at shop tills and pings financial information between businesses and our banks. It allows us to play games, such as Minecraft, across multiple devices, creating an infinite sandbox of creative opportunities.

Uses of Java in Real World
Credits @PearsonFrank

Java is the go-to language for millions of software developers and most popular programming language for Android smartphone application. Today, the Java platform is commonly used foundation for developing and delivering content on the web. It’s secure, simple and robust, so with these attractive qualities in mind, Here are some facts about Java which you probably did not know:

Java was never planned, it was introduced when they were experimenting and improving c++.

It all started in 1990, when Sun Microsystems engineer Patrick Naughton became increasingly annoyed with the state of Sun’s C++ and C APIs and was given the opportunity to create an alternative language as part of The Stealth Project which later named as Green Project.

Mike Sheridan and James Gosling joined Patrick and began developing new technology for programming next-generation smart appliances. Initial ideas revolved around combining Mesa and C and producing an object-orientated environment in C++.

They decided to rule out C++ because it needed too much memory and because its complexity led to developer errors; the lack of garbage collection was resulting in programmers having to manually manage system memory, which often resulted in mistakes. They also wanted a platform that would port easily to all types of devices.

Gosling attempted to modify and extend C++ (a development he refers to as “C++ ++ –“), but he ends up with many problems while developing software in “C++”(Pointers, Operator Overloading) and quickly abandoned this approach in favor of creating an entirely new language and runtime which he called Oak, named after the tree that stood outside his office.

“Oak is a symbol of strength and chosen as a national tree of many countries like U.S.A., France, Germany, Romania etc.”

The Green Project became Firstperson, a subsidiary of Sun Microsystems, and started to look at building highly interactive devices. They were approached by Time Warner to create an interactive set-top box but responded with a proposal for an entire set-top box platform! In 1994, after several days of brainstorming, the team refocused the platform on the World Wide Web, which was gathering a lot of momentum at the time.

Sun changed the name of the Oak language to Java, because of a trademark dispute from Oak Technologies.

Java was originally called Oak, because of a tree outside of the window of James Gosling’s office at Sun, also went by the name Green and ended up later being renamed as Java, from a list of random words. The name ‘Java’ was the result of a brainstorming session which James Gosling described as “continuous wild craziness.”

“Java is an island of Indonesia where first coffee was produced(called java coffee)”

There seems to be some disagreement on who suggested Java as a name, with Gosling adding “It felt like most of the words in the dictionary were yelled out at some time or another.” Rumors of the name being suggested because the developers were holding mugs of coffee in their hands during the meeting and also their logo is cup of coffee.

It is the Second most popular language after C

Java is ranked #2 in popularity among programming languages, according to the programming languages popularity tracking website, Tiobe(compiles search engine inquiries with the number of developers, courses and providers for evaluation). It has survived and gained interest among programmers in the last 2 decades, which is used in critical applications like stock market trading system on BSE, banking system or Android mobile application.

Version of Java
Credits @PearsonFrank

Duke(Smart agent) The Java Mascot, Explained!

Sun Microsystem’s Green Project team created its first working demo that featured Duke, the star of their touch-screen user interface, the team was able to present their first demonstration where they built a personal digital assistant called Star7.

According to, “Duke was the interactive host that enabled a new type of user interface that went beyond the buttons, mice, and pop-up menus of the desktop computing world”.

Well, believe it or not, Duke was initially designed to represent a “software agent” that performed tasks for the user. As for artist credit, Joe Palrang,  is the man you can thank for spawning the blob-like Duke, who went on to work for DreamWorks on animated films like Shrek,  Antz and Flushed Away. During his time at Sun, Palrang was the Art Director for demo animation/applications, as well as for initial Java technology.

At The Right Place, At The Right Time For Web Applications

Java was an easier and more portable option than C++ to develop embedded systems.  The invention of the WWW in 1993 started a meteoric change in IT application development. Sun Microsystems moved quickly to take advantage by selling “network” servers like hotcakes and offering Java as the platform for Web development. Most other software vendors were caught off guard and Java became the de facto Internet development standard for enterprise Web application development. 95 percent of enterprises use Java for programming. That is a hell lot more than C and other languages put together.C

Oracle vs Google

Java practically runs on 1 billion plus smartphones today because Google’s Android operating system uses Java APIs.

Oracle is fighting a big courtroom battle with Google. On Aug. 10, 2010, Oracle launched the first of two lawsuits against Google over the use of Java in Android operating system. If Oracle wins the lawsuit, it stands to make a cool $8.8 billion. The courtroom battle headed for second hearing recently after the federal court ruled in favor of Oracle and told Google to approach district court for further ruling.

Oracle alleged copyright infringement and that Google’s implementation of various Java APIs used code copied directly from Oracle’s implementation.

Litigation ended in May 2016 as both trials found in favor of Google. Jurors decided that Android’s use of the Java APIs constituted fair use and awarded no damages to Oracle.

As of 2016, more than half of all handheld phones in the world run on Android, giving Java an incredibly strong hold in the smartphone market.

Java Has Served Its Purpose, But Now It’s TimeTo Move Forward

Java development is too complex for business application development. Enterprise application development teams should plan their escape from Java because:

  • Business requirements have changed. The pace of change has increased.
  • Development authoring is limited to programming languages. Even though the Java platform supports additional programming languages such as Groovy and  JRuby,  the underlying platform limits innovation to the traditional services provided by Java.
  • Java bungled the presentation layer. Swing is a nightmare and JavaFX is a failure. JSF was designed for pre-Ajax user interfaces even though some implementations such as ICEfaces incorporate Ajax.
  • Java frameworks prove complexity. Hibernate, Spring, Struts, and other frameworks reveal Java’s deficiencies rather than its strengths. A future platform shouldn’t need a cacophony of frameworks just to do the basics.
  • Java is based on C++. Is this really the best way to develop enterprise business applications?
  • Java’s new boss is the same as the old boss. Oracle’s reign is unlikely to transform Java. Oracle’s recent Java announcements were a disappointment. They are focused on more features, more performance, and more partnerships with other vendors. So far, it appears that Oracle is continuing with Sun’s same failed Java policies.
  •  Java has never been the only game in town. C# is not the alternative. It is little more than Java Microsoft style.