Every programming language has its own special features and
such features are very much dependent on the objectives behind developing the
programming languages. In this section we will discuss some special features of
the java programming language with history behind implementing the feature and
tools that supports such special features in Java:
ü
Simple: The syntax of Java
programming language is simple and logical. Java derives most of its structure
and syntax from C and C++. The reason behind adopting this simple syntax is to
help people understand the Java easily and quickly. Moreover if you have
knowledge of C or C++; Java will sound familiar to you. This simplicity in
structure as well as adaptation of the syntax from previous popular programming
languages made java popular and the same made it easier for programmers who
know the C or C++.
ü
Object Oriented: Java is
purely object oriented programming language. As Java was designed independently
and designers didn’t have burden to make it compatible with other source-code
based language they used this advantage to create simple, powerful and object
oriented language. The Java’s object model is simple and powerful and it can
balance the two extreme views about object oriented programming.
ü
Robust:
The advent of internet and existence of more than one
computing platforms demands the programs that can be executed on variety of
systems reliably. Java is strictly typed programming language and it checks
your code at compile time and also at run-time, to avoid many errors that may
be difficult to find out and solve. Also java restricts you in some areas while
it gives you full freedom in another. For ex. To avoid the errors that comes
from misunderstood the concept of pointers; Java vendors avoided to add
pointers feature in Java. Also the two places where mistakes happens while
coding are: exceptional conditions that are not handled properly and memory
management. Both of these tasks memory management and exception handling are
tedious but in Java you need not to worry about that. Java vendors have
provided some features like garbage collector which handles such job internally
for you.
ü
Platform Independent: Java is
platform independent programming language; which means that you can get same
results from a program developed on Linux and is executed on Windows or other
platforms. Java has some special features which makes it platform independent
and some driving forces which caused the development of Java as platform
independent.
To understand why Java is platform independent we have
to understand the environment in which Java programs are run. Every java
programs run in an environment called JVM (Java Virtual Machine). Without JVM
we cannot run or execute any program or application which is written using
Java. Internally this JVM is responsible for handling the entire execution of
the program. JVM provides the memory and other resources for execution of the
program on behalf of the operating system.
When you write a code and execute it using the javac
compiler the compiler produces a highly optimized code called Bytecode. Then this
code is used by JVM to execute the program in real time. JVM is interpreter of
the Bytecode and thus we can say that Java uses both compiler and interpreter
to execute the programs. So if you have the only JVM implemented for each
platform then the Bytecode will give same result along all the platforms.
Remember JVM or Java programming language (Java
Development Kit) is also not platform independent but only the programs
developed using the Java programming language are platform independent due to
the concepts of bytecode and JVM.
ü
Security and Portability: The same
concepts bytecode and JVM are responsible for providing the two other features
of the Java Programming language: portability and security. As bytecode can be
read only by JVM no one can insert malicious software or code snippet that can
harm other parts of computer as that bytecode will never be read by other
applications in the computer. As said earlier due the co-existence of the
different computing platforms at the same time it was necessary to make the
Java portable so that every user on any platform can use the applications of
java or can create applications using Java.
ü
Multithreaded: To create
real time networked applications Java supports the concept of multithreading,
which is important concept when it comes to performing many tasks
simultaneously. Java allows us to write programs that can perform multiple
tasks at the same time. The multithreading feature is important in
multi-tasking and multi-user environment.
ü
Architectural Neutral: In changing
world we cannot guarantee the continuous existence of anything and so we cannot
guarantee that the computing platforms and architecture existing today will
last forever. Changes are made for achieving the new goals and aims to provide
the better solutions to us. So in the due course of time architecture of
computer may change but people behind Java wanted to run the same programs on these
changing architectures too. Thus Java was made to be architectural neutral and
this feature is also achieved by implementation of JVM, which ensures the safe
execution of Java programs on any platforms. It also ensures that program
written today will run on future machines as long as JVM exists.
So these are some
special features of Java and you can now say that Java is truly programmer’s
language which provides full support when required and restricts you when you
are going to make mistakes. These features of Java are also called as Java
Buzzwords. Remember every feature has reason to implement it and every feature
has something which provides support for that feature from core of the Java.
0 comments:
Post a Comment