With Object Oriented Programming such as Java, it is possible today to organize complex and large programs through encapsulation, polymorphism, inheritance, objects, and classes.
For many years, C++ used OOP language. With the rise of the World Wide Web, Java programming became more popular, especially in the development of consumer electronics such as television, microwaves, and more.
Computer experts devoted a lot of their time in trying to find software that is safe, reliable, compact, and processor independent. Java programming gradually progressed to become a full-pledged programming language, changing its focus from consumer electronics to a wide range of platforms to develop more powerful applications.
JAVA PROGRAMMING A BRIEF HISTORY
The Java Programming Language was developed in 1991 by five computer experts Ed Frank, Mike Sheridan, Chris Warth, Patrick Naughton, and James Gosling who all worked for Sun Microsystems Inc. It took 18 months for them to develop the program, which was initially named Oak. It was renamed Java in 1995 because of copyright concerns.
The concept was to create a programming language that can be used across platforms and that could build embedded software for consumer electronics. The popular programming languages at the time, C and C++ were not efficient for this purpose, because they are dependent on platform as the programs written on them should be compiled first for specific hardware before launching. In addition, the compiled code was not efficient for other processors and it should be re-compiled.
Hence, the team of five, also known as the Green Team, started to work on building an easier programming language. They tinkered for a year and a half in creating a compact, platform-independent programming language, which can allow a programmer to build a code that could run on different processors under various environments.
This led to the development of Java. Simultaneously, the World Wide Web and the Internet were becoming popular. The web programs were still dependent on platforms, and required the programs that could operate on any OS regardless of the software and hardware configuration.
It required for compact and small programs, which could be easily carried over the network. Java was the language that complied with such requirements. Web developers soon realized that a language that is architectural neutral such as Java can be ideal for writing programs for the web.
Hence, Java became more popular as a programming language for the World Wide Web, from its humble beginnings as a language for consumer electronics. Today, Java is far from a basic programming language. This is a well-developed technology that is simple, secure, portable, platform independent, multi-threaded, object oriented, distributed, and robust.
PRIMARY FEATURES OF JAVA
Simple
Java is regarded as a simple language, because it doesnt have complicated features such as Explicit memory allocation, pointers, Multiple inheritance, and Operator overloading.
Secure
Java comes with a virtual firewall between the computer and the application. Java codes are restricted inside the Java Runtime Environment (JRE), which doesnt approve unauthorized access for the system resources.
Portable
A code written in Java on one platform could run on another platform on a different machine. The Java byte code could be transported to any platform for operation, which makes java code very portable.
Platform Independent
A platform refers to a pre-established set-up to run a program, conform to its restrictions, and use its features. During the compilation phase, the java program is converted into a byte code, which could be used to any platform such as Mac/OS, Linux, or Windows. Therefore, a program that has been compiled on Linux can still be used on Windows and vice versa. That is why Java is a platform independent programming language.
Multi-threading
Java supports multi-threading because it allows a program to perform several tasks all at the same time.
Object Oriented
Java is an object oriented programming language, because it can organize programs as a group of objects that each represent an instance of a class. The four primary concepts of OOP are: polymorphism, inheritance, encapsulation, and abstraction. You will understand each concept as you learn java programming.
Distributed
Through java programming, you can develop distributed applications. Enterprise Java Beans (EJB) and Remote Method Invocation (RMI) are employed for developing distributed apps using Java. To put this simply, you can distribute java programs on several systems that are linked to one another through the Internet. Objects within a Java Virtual Machine (JVM) could run protocols using a remote JVM.
Robust
Mishandled runtime errors and memory management mistakes are the two main problems which cause program failures. Java can handle these issues with high efficiency. Mishandled runtime errors could be resolved through Exception Handling protocol, while memory management mistakes could be resolved by garbage collection, which is an automatic de-allocation of objects that are already unnecessary.