Learn Java Concepts | Why JAVA? | Java Features

Learn Java Concepts | Why JAVA? | Java Features

History of the JAVA Language :

  • Java is a general-purpose, object-oriented programming language developed by Sun Micro-systems of USA in 1991.
  • Originally called Oak by James Gosling (one of the inventor of the language).
  • Java was invented for the development of software for consumer electronic
  • Working on Interactive TV Project (mid 1990’s).
  • Frustrated with the Language C/C++.
  • Gosling holed up in his office and created a new language that was suitable for his project and addressed some of the things that frustrated him about C++.
  • Java was released by Sun in 1995.

Usually people ask about Java this same question ie. Why java? or Why we use java programming instead of other programming languages?

The answer is..

Platform in dependency :-
Java is one of the few programming languages that are platform independent. the java programs are usually compiled down to a bytecode which is platform independent.
This bytecode is run on a Java Virtual Machine (JVM).

Thus this makes Java a unique language to be used for programming.


Some of the major features of Java are :

  1. Compiled and Interpreted
  2. Platform Independent and portable
  3. Object- oriented
  4. Robust and secure
  5. Distributed
  6. Familiar, simple and small
  7. Multi-threaded and Interactive
  1. Compiled and Interpreted :

    Basically a computer language is either compiled or interpreted. Java comes together both these approach thus making Java a two-stage system.

    Java compiler translates Java code to Bytecode instructions and Java Interpreter generate machine code that can be directly executed by machine that is running the Java program.

  2. Platform Independent and portable :

    Java supports the feature portability. Java programs can be easily moved from one computer system to another and anywhere.

    Changes and upgrades in operating systems, processors and system resources will not force any alteration in Java programs.

    This is reason why Java has become a trendy language for programming on Internet which interconnects different kind of systems worldwide. Java certifies portability in two ways.

    First way is, Java compiler generates the bytecode and that can be executed on any machine.

    Second way is, size of primitive data types are machine independent.

  3. Object- oriented :

    Java is truly object-oriented language. In Java, almost everything is an Object. All program code and data exist in objects and classes.

    Java comes with an extensive set of classes; organize in packages that can be used in program by Inheritance. The object model in Java is trouble-free and easy to enlarge.

  4. Robust and secure :

    Java is a most strong language which provides many securities to make certain reliable code. It is design as garbage –collected language, which helps the programmers virtually from all memory management problems. Java also includes the concept of exception handling, which detain serious errors and reduces all kind of threat of crashing the system.

    Security is an important feature of Java and this is the strong reason that programmer use this language for programming on Internet. The absence of pointers in Java ensures that programs cannot get right of entry to memory location without proper approval.

  5. Distributed :

    Java is called as Distributed language for construct applications on networks which can contribute both data and programs. Java applications can open and access remote objects on Internet easily.

    That means multiple programmers at multiple remote locations to work together on single task.

  6. Simple and small :

    Java is very small and simple language. Java does not use pointer and header files, goto statements, etc. It eliminates operator overloading and multiple inheritance.

  7. Multi-threaded and Interactive :

    Multi-threaded means managing multiple tasks simultaneously. Java maintains multi-threaded programs. That means we need not wait for the application to complete one task before starting next task. This feature is helpful for graphic applications.

There are certain evaluation criteria for a language to be accepted:

  1. External Evaluation criteria :


  • Rapid development
  • Programmers are more expensive than machines, so they’d better be able to make fast progress.
  • Easy maintenance
  • Maintenance is expensive.
  • Reliability and safety
  • When computers go down, planes crash, phone systems break, nuclear reactors melt down, cash machines close. We’d like to avoid this.
  • Portability
  • I’d like my program to run on many different platforms, with minimal rewriting.
  • Efficiency
  • The compiler should be fast. The code itself should be fast.Low training time (learn-ability)The language should be easy to learn. Training is expensive.
  • Re-usability
  • Writing software components once is cheaper than writing them twice.
  • Pedagogical value
  • The language should support and enforce the concepts you want to teach.

    2. Internal Evaluation Criteria :


  • Readability
  • Understand what you, or someone else has written.
  • Write-ability
  • Say what you mean, without excessive verbiage.
  • Simplicity
  • The language should have a minimal number of primitive concepts/features.
  • Orthogonality
  • The language should support the combination of its concepts/features in a meaningful way.
  • Consistency
  • The language should not include needless inconsistencies. (But remember Ralph Waldo Emerson: “A foolish consistency is the hobgoblin of small minds.”)
  • Expressiveness
  • The programmer should be able to express their algorithm naturally.
  • Abstraction
  • The language should support a high level of data and control abstraction.
Any Questions? Suggestions? Ideas? please share with us by commenting below 🙂
Stay connected for more posts regarding this topic 🙂

(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),

ga(‘create’, ‘UA-98657495-1’, ‘auto’);
ga(‘send’, ‘pageview’);


2 thoughts on “Learn Java Concepts | Why JAVA? | Java Features

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s