The Object-Oriented Programming Language Java

GreenTalk, Oak and Silk

At first, the Object-Oriented Programming Language Java name was GreenTalk, then Oak. Java is the name of the coffee brand popular in the late ’90s.  Also, “Java” is the Island in Indonesia where coffee is grown. When the Green Team created their programming language, they decided to give it an appropriate name. It should be simple and be able to reflect the main features of the language: revolutionary, dynamic, lively, cool, unique, and easy to spell and fun to say. Now we can hardly imagine how the coolest object-oriented language could have any other name than Java. But it could have had other names, Silk, for example.

How it all started

Once upon a time, Patrick Naughton, engineer of the Sun Microsystems was granted to create alternative language as part of The Stealth Project. He met James Gosling and Mike Sheridan. As you know, behind every successful project stands the partly bold charming guy with glasses. So that guy was Mrs. Gosling. No, not the one who portrayed Neil Armstrong in the new Damien Shazel picture “ First man”. One of the most famous object-oriented programming languages’ “father” was James Gosling.  He designed Java, implemented its original compiler and the virtual machine. Also, Gosling made a major contribution to the several other software systems creation, such as NeWS and Gosling Emacs. He also a  co-writer of the “bundle” program. This utility thoroughly detailed in Brian Kernighan and Rob Pike’s book “The Unix Programming Environment.”

James Arthur Gosling,(born May 19, 1955)                        

James Arthur Gosling                                                 and                       Mike Sheridan 

Time has passed

After 18 months of work,  the Stealth Project changed its name to Green Team and introduced the new object-oriented-programming language. At first, it supposed to serve in different digital devices, such as TV-boxes. Java was too advanced for that.  It was more suitable for internet programming. Later, Java technology was incorporated by Netscape. In 1995, Time magazine called Java one of the Ten Best Products of 1995 and on January 23, 1996, the first  JDK 1.0 was released. And since that time Java changed our lives and the digital world overall. So what are the main features of Java?

Advantages of Java as the programming language

The main purpose of Java creation was to make a portable, simple, secure language which compatible with any device and does not request any additional compilers. Those were the main features, however, there was more, which we now call java buzzwords, which you can see below.

Simple Java has simple, understandable logic, which anybody can learn.

Object-Oriented behavior. Everything in Java is an object. Object-oriented means we organize our software as a combination of different types of objects Object-oriented programming (OOPs) is a methodology that simplifies software development and maintenance by providing some rules and basic concepts which involve Object, Class, Inheritance, Polymorphism, Abstraction, Encapsulation

Portable, which means it facilitates you to carry the Java bytecode to any platform. It doesn’t require any implementation.

For example:

public class HelloWorld
    public static void main(String[] args) {
        System.out.println("Hello World!");

output: Hello World!

Platform independent. First of all in case if you have forgotten what the platform means, it is a hardware or software environment in which a program runs. Java written program runs anywhere. How does it work? The Java provides a software-based platform which can run on the top of other hardware-based platforms, it has a Runtime Environment and API(Application Programming Interface). Java code can run on Windows, Linux, Sun Solaris, Mac/OS and etc.

Java is a secure programming language, allowing to develop a virus-free system.  Programs run inside a virtual machine sandbox. Additional securities  which Java language provides by default are :

  • Classloader as a part of Java Runtime Environment (JRE). It loads Java classes and adds security. Classloader separates the package for the classes of the local file system from ones which are imported from network sources.
  • Bytecode Verifier, which checks the code fragments for illegal code which can violate access right to objects.
  • Security Manager, which determines what resources a class can access such as reading and writing to the local disk.


Some security can be provided through SSL, JAAS, Cryptography, etc by an application developer explicitly

Robust or in other words strong. It means that Java, for example, uses a  strong memory management, such as :

  • Lack of pointer, which avoids security problems
  • Automatic garbage collection, which all of you have heard about. The garbage collector works like any other garbage collectors, it gets rid of objects which the application is not using anymore.
  • Also in Java, there are exception handling and the type checking mechanism, all these features make java extremely quick.

Java object-oriented programming language is architecture neutral.  That means, that there are no implementation dependent features. For example, in C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes of memory for 64-bit architecture. In Java, it occupies 4 bytes of memory for both 32 and 64-bit architectures in Java.

Java is Interpreted, most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions.

High Performance, meaning that Java is faster than other traditional interpreted programming languages.

Java is Multithreaded. In case if you need me to remind you what “thread “ means, it is sorting a separate program which is executed concurrently. By defining multiple threads, you can write multitasking Java programs. The main advantage of this, it that multi-threading doesn’t occupy memory for each thread but shares a common memory. 

Java is distributed-it facilitates users to create distributed applications RMI and EJB. This feature of Java allows accessing files by calling the methods from any machine on the internet.

Dynamic means that Java supports dynamic loading of classes in other words classes are loaded on demand. Also, Java supports functions from C and C++, which are its native languages, it supports dynamic compilation and automatic memory management or so-called garbage collection.

Since 1995 Java language has experienced various modifications as well as numerous inclusions of courses and units to the standard library. For this moment there have been released 12 versions of Java.

The object-oriented programming language Java is used in internet programming and in mobile app development.  Apart from that, it is used in game development, and e-commerce, navigation systems, and business solutions. So, basically, it is everywhere.

Don't miss out!
Subscribe To Our Newsletter

Learn new things. Get an article everyday.

Invalid email address
Give it a try. You can unsubscribe at any time.