Interesting Java Facts That All Programmer Should Know
Java is widely used programming language, the long-lasting programming language, remains immensely popular. It was designed to have the look and feel of the C++ language and enforces an Object-Oriented Programming model.
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 Invented By Accident
James Gosling initiating the Java language project in June 1991 for use in one of his many set-top box projects at Sun Labs. The group was building a set-top box and started by “cleaning up” and wound up with a new language and runtime. James Gosling first selected “C++” language to develop that software, he finds some problems to develop software in “C++”. The problems are POINTERS and OPERATOR OVERLOADING. The main problem by using C++ is that is SYSTEM DEPENDENT. Thus Java came into being.
Java Was Originally Named Oak(Oak Tree)
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. Why Oak?
“Oak is a symbol of strength and chosen as a national tree of many countries like U.S.A., France, Germany, Romania etc.”
In 1995, Oak was renamed as “Java” because it was already a trademark by Oak Technologies.
The name “Java” was chosen because the creators of the language often discussed ideas for the language at a local coffee shop.
“Java is an island of Indonesia where first coffee was produced(called java coffee)”.
It’s Pays To Learn Java
The median salary of a Java developer is $83,975.00. Yes, it pays to be a Java developer and programmers are milking it. There are about 9 million Java developers in the world.
Programming jobs are not going to go away, and the number of jobs is expected to grow at least for the next 12 years. Computer programming opportunities are EVERYWHERE, and those who have programming experience have an incredible service to offer to those who have no technical knowledge.
Java Comes After C
Though many would argue that Java is all time favourite among developers, it is second most popular programming language after C.
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.
Java is ranked #2 in popularity among programming languages, according to the programming languages popularity tracking website, tiobe.com. Tiobe compiles search engine inquiries with the number of developers, courses and providers for evaluation.
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 hell lot more than C and other languages put together.
Current Java Version
Java’s latest major release is the Platform Standard Edition 8. Its features include improved developer productivity and app performance through reduced boilerplate code, improved collections and annotations.
Duke The Java Mascot, Explained
Java’s mascot, Duke, was created by Joe Palrang, who worked on popular animated movies such as Shrek. Well, believe it or not, Duke was initially designed to represent a “software agent” that performed tasks for the user. According to Java.net,
“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”.
Sun Microsystems’ Green Project team created its first working demo that featured Duke, the star of their touch-screen user interface. The interactive handheld home entertainment controller was called the Star7. 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.
In Java 3=12
In Java the output : System.out.println(1+2+” = “+1+2);
Why? Apparently Java starts treating everything as a String once it has encountered a string in System.out statement
Final is Not final in Java
Final actually has four different meanings in Java.
1) final class- The class cannot be extended
2) Final method- the method cannot be overridden
3) final field- The field is a constant
4)final variable- the value of the variable cannot be changed once assigned
Java and Android
In October 2009, Google released the Android software developer’s kit (SDK), a standard development kit that made it possible for mobile device developers to write applications for Android-based devices using Java APIs.
Oracle Corp. took over the Java platform when it acquired Sun Micro-systems in January 2010. The acquisition delayed the release of Java 7, and Oracle scaled back some of the more ambitious plans for it.
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 favour 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 favour 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 Is A Dead-End For Enterprise App Development
Before Java was invented, one of the key industry trends was to increase the productivity of both developers and end users. For example, fourth-generation programming languages (4GL) such as Powerbuilder, Progress, and Uniface provided professional developers with faster ways to develop business applications than using COBOL, Pascal, C, or C++.
For end users, tools such as Dbase, Lotus Notes, and Visicalc provided them with the unprecedented ability to create mini-apps without the need for professional developers. In the early ’90s, this productivity trend was thrown into a tizzy by the Internet.
Now, software vendors and enterprise application developers had to rush to write a whole new generation of applications for the Web or risk becoming irrelevant. The Internet forced developer productivity and 4GL’s to take the back seat.
Java Has Served Its Purpose, But Now It’s Time To 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.