What is JavaNext →
Java is a programming language and a platform. You can write programs in java using English based commands. These programs can be executed on different types of devices, each program performs a specific task when executed by the devices.
What is program ?
A program is a set of instructions written inside a file using a programming language. It performs a specific tasks when executed by a device.
The image below shows a very basic java program written inside a file. To get more detail about your first java program you can refer My First Java Program section.
As you can see in above image, the program contains English based words(also known as commands). These words have special meaning in java programming language. We will get to know more about these words in later sections. The image below shows some of the devices where java programs are executed to perform specific tasks.
Java is also a Platform. As as soon as you run a java program or application, java creates a runtime environment where your java programs or application runs. Generally operating systems like Microsoft Windows, Linux, Solaris, Mac OS etc. are known as platforms. These platforms provide you an environment where you can run different types of softwares or applications, similarly java creates an environment at runtime where you can run only java programs or applications. Java platform is a software-only platform that runs on top of hardware-based platforms(OS). Java platforms contains a Java Virtual Machine (JVM) and an application programming interface (API).
How does computer understands java program ?
Computer doesn't understands java program directly as it's written in English based commands. Computer understands only low level instructions(machine code or assembly language). Java program is converted into low level instructions using java software(JDK and JRE) which is then executed by computer.
Is java a high level language ?
Yes, java is a high-level language. You can write computer instructions using English based commands instead of writing the instructions in low level language. At the time of execution, these commands or high-level instructions are translated into low level instructions that computer can understand and execute.
What is Syntax in java ?
Like grammar in English, Java also has a set of rules that must be followed while writing the programs in java. These rules are known as Syntax in java. A programmer must know these syntaxes before writing the program in java.
Usage of Java Language
With time the use of java has increased significantly which makes it one of the most preferred language for programmers and enterprises. According to Oracle, 3 billion devices runs java. There are many devices where java is currently used. Some of the popular devices that uses java are ATMs, Smartcards, Routers, Switches, Smart Meters, Access Control System, Medical Devices etc. There are huge number of applications and softwares that uses java in one way or other. Some of the usage of java are :
- Android operating system is developed using java. Most of the games and softwares running on android is developed using java technologies.
- Popular desktop applications like acrobat reader, antiviruses softwares, media players are developed using java.
- Popular web applications like Linkedin.com, twitter.com are also using java in one way or other.
- Due to enhanced security of java, most of the banking applications are developed using java.
- Big Data technologies like Hadoop, HBase, ElasticSearch etc are also using java in one way or other.
- Programmer's text editor like eclipse, Netbeans, JEdit etc are also developed using java.
Types of Java Platforms
Java platforms are basically java softwares that is used in development and execution of java programs or applications. You can download and use these softwares. There are four types of java platforms :
- Java Platform, Standard Edition (Java SE)
- Java Platform, Enterprise Edition (Java EE)
- Java Platform, Micro Edition (Java ME)
Why do java provides different types of platforms ?
As a developer or enterprise you may require to develop different types of applications like desktop application, web application, gaming applications etc. To develop different types of applications java provides different types of platforms.
1. Java SE
This is the most basic or core platform. It defines basics of java language like data types, syntaxes, classes, objects, interfaces etc. It also includes some high level classes that are used for security, networking, database access etc. All stand-alone or desktop applications are developed using this platform. AWT and Swing used for developing desktop applications are also the part of Java SE Platform. A programmer can also consider Java SE's API as Java programming language.
Apart from core API's, it also consists of a java virtual machine (JVM), development tools, and other class libraries which are commonly used in Java applications.
2. Java EE
This platform is built on top of Java SE platform. It also consist of an API and runtime environment that is used for developing and running large-scale, multi-tiered, reliable, scalable and secure network applications. All the java web and enterprise applications are developed using this platform. Technologies like servlet, jsp, struts, JPA, EJB etc. are part of this platform.
3. Java ME
This platform also consists of an API and a small virtual machine for running Java programs and applications on small devices like mobile phones. This API is a subset of the Java SE API, along with some extra class libraries that is useful for small device application development. All java mobile applications and games are developed using this platform.
JavaFX includes a set of graphics and media packages to design rich client applications that can run consistently on different platforms. The basic intent was to replace Swing because it was bit complex. JavaFX offers a much simpler way to create desktop applications as well as rich internet applications because it provides the facility to develop user interfaces as well. JavaFX Scene Builder provides drag and drop UI component feature to develop applications.