Java is a powerful object-oriented computer programming language developed by Sun Microsystems Inc. Earlier it was developed for consumer electronic devices but later it was shifted towards the internet.
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.
The language took 18 months to develop the first working version and it was initially called Oak but was renamed Java in 1995. The language derives much of its syntax from C and C++.
It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another.
Java is very famous because it has its qualities like it's a Platform Independent language which means you can create an application in Java that will run on any machine without any issues.
On Jan 27, 2010, Sun Microsystems completely merge into Oracle Corporation as a core component of Sun Microsystems Java platform.
Java is, as of 2015, one of the most popular programming languages in use, particularly for client-server web applications.
Types of Application
By using Java you can create four types of applications. Let's see them one by one
1. Standalone Application
Let's clarify What is a Standalone Application? An application that will run on a single desktop, for example, Antivirus Software, NetBeans IDE (Integrated development environment), etc.
These applications that we have to install first in our system and then only we can use them. It is also known as a desktop application or window-based application.
In Java, AWT (Abstract Window Toolkit) and Swing technologies are used for creating standalone applications.
2. Web Application
Let's understand the difference between a website and a web application? A website is nothing but static data which is present on a web page, for example, if you are reading this tutorial, it's static data on this page which means it's a website.
A web application is nothing but an interaction between the user and system or application, for example, if you are using Facebook whenever you are trying to log in, you are passing some data (username and password) to a Facebook server, after some necessary authentication server responds you. So, here some amount of communication or interaction happened. An application that runs on the server-side and creates dynamic pages, is called a web application.
3. Enterprise Application
Enterprise Application is nothing but Business Application. These applications are very complex, scalable, distributed, component-based, and mission-critical.
For example banking applications. It has the advantage of high-level security, load balancing, and clustering.
In Java, EJB (Enterprise JavaBeans) is used for creating enterprise applications.
4. Mobile Application
An application that is created for mobile devices for example nowadays everyone using Android mobiles, we have so many functionalities in our mobile like we can save contacts, we can play games, we can use different Apps and many more things, these apps are nothing but Mobile Applications.
Entire Android Operating System is developed in Java, and all the apps which are running on Android are also developed in Java.
So, if you want to create any android App then you have to learn Java.
Currently Android and Java ME are used for creating mobile applications.
Popular Java Editor
There are many killer editors are present in the market, which are totally free and openly available, you just have to download them, install them, and start writing your code.
The IDEs available for Java will blow your mind. You can write your program very easily, and effectively and it will take very less time.
Some IDE provides all required packages built-in like NetBeans. So, you no need to worry. Below are three editors who are free and openly available.
Notepad: It is built-in in Windows machines, we will recommend you to use Notepad for practicing Java programs.
NetBeans: It's a Java IDE that is open-source and free to download from http://www.netbeans.org/index.html.
Eclipse: This is also a Java IDE developed by the eclipse open-source community and can be downloaded from http://www.eclipse.org/.