Java - Introduction and Overview of Language

This is the very first part of our 'Core Java programming tutorials' series. Today we will cover a quick overview of Java History, its properties and a quick introduction to overall language structure.

Java is a High Level computer programming language that was initially invented by James Gosling. In June 1991 James introduces Java with an initial name ?oak?, the purpose behind ?Oak? invention  was to implement an virtual machine with an language much familier with c/c++ but a simple way of understanding and implementation.

Quick History

The very first public implementation came in 1995 i.e. Java 1.0. The tagline behind the launch was ?Write once and Run everywhere?. The release was platform independent and quit secure and configurable.

As the time passes Java got popular and it was assumed as the best programming language for web programming. In November 2006 Sun launches Java as open source project under GNU General Public License. Sun introduces Java 2 with a better and advanced security configurations and broken the launch in three main subsidiaries, J2SE, J2ME and J2EE.

Java Properties

1) Platform Independent

Java is most known for it Platform Independent nature, one can write a program in any environment and that can be run on a variety of Hardware and Platforms. Java is compiled and run within JDK(Java Development Kit). JDK includes JRE(Java Runtime Environment) in it. JRE is what makes java program run, this JRE can be different for different platforms but java code will run on each JRE..

2) Object Oriented

Java is fully object oriented or not, it is still a debate among programmers and communities. In java everything is an object except that of Primitive Types(int, char?) so this can be assumed that java is not a pure object oriented language, On the other hand Java supports Wrapper classes (Integer, Float ?), so all primitive types can be represented as objects using wrapper classes, this is also true that java is an pure object oriented language.

3) Secure

Java is well known for its security features, java implements security API?s that makes is fully secured programming language. Java security API covers Platform security, Cryptography, Public key infrastructure, Authentication and Access Control that provides the programmers a secured framework to develop applications.

4) Simple

Java was intended to build a simple programming language with much similar that C/C++ syntax and functionality.  Java is a easy to learn and implement programming language with a clear understanding of its useful features. One can be a master in java with a quick understanding of its basic syntax and data flow across the applications.

5) Portable

Portability is again a big concern in Java popularity and wide usage. Being platform independent and architecture neutral makes java a efficient and idle language in portability aspects.

6) Robust

JVM is the root of Java, JVM is said to be the best virtual machine made till data. JVM enables a strong debugging and compilation capabilities that makes Java a error free and easy to detect errors mechanism implementation. Java is very strong in its robust part by providing a efficient mechanism against error detection at compile time and run time.

7) Architectural Neutral

Java compilation is a two step process, all java codes are converted to byte codes first. This makes java to run everywhere and architecturally neutral programming language.

8) Multithreaded

Java supports a fully integrated multithreaded environment, this feature makes the developers to utilize bandwidth and reduce idle cpu time. Multithreading makes it easy to divide the task in multiple parts to make the application more productive and safe to develop.

9) Distributed

Java support distribution of its code across the internet, its platform independent nature and byte code make it easy to distribute easily.

10) Dynamic

Java is being called more dynamic than c/c++, the reason behind its strong dynamic support is the capabilities of run time implementation and easy to adopt dynamic features.

Development Environment

A java program can be written on a simple text editor with a .java file extension. A .class file is generated after compilation that is nothing but a byte code file. This .class file is than run on JVM to see the expected output.

Being a very popular and widely used programming language Java enables a wide range of development capabilities. To start programming in java one need to install a JDK package on the machine and that?s it, JDK comes with a Java compiler, debugger and JVM to run and deploy java applications on.

Till date a number of Development IDE?s are available for java, Eclipse and Netbeans are most popular and widely used IDE?s for Java as of today.

Programming Syntax of Java

Java is based on c/c++ languages as in syntax perspective, Java?s syntax is easy and easy to learn. In java everything is written inside classes and that methods are declared to complete the tasks. In java everything is based on objects. More detailed overview of Java syntax will be covered in Simple Hello World in java section.

Install Java and Environment Settings

Start programming with java is simple, just install a JDK from a variety of providers and set JAVA_HOME path. More details can be get from Install Java and Set Environment section.

In this particular blog we came across a quick introduction of Java programming language and its properties. In upcoming tutorials we will cover Set Java Development environment , Start programming in Java and step by step introduction to all basic concepts of Java programming language.

About The Author

Nagesh Chauhan

Nagesh Chauhan has 8+ years of software design and development experience in variety of technologies like - Core Java, Java 8 (Streams, Lambda), J2EE (Servlet, JSP), Spring Framework (MVC, IOC, JDBC, SECURITY etc), Spring Boot and Microservices, Kafla, Redis, Cassandra and Spark.