| Java is an object oriented programming language developed by
Sun Microsystems, Inc. which describes it as a:
"simple,
object-oriented, network-savvy, interpreted, robust, secure,
architecture-neutral, portable, high-performance,
multithreaded, and dynamic language".
In detail, this
means the following:
- Simple: Java can be programmed easily without
esoteric training. It omits many rarely used and confusing
features from C++, but still allows programmers who are
familiar with C++ to grasp the concepts of Java
programming with ease.
- Object oriented: Object oriented programming
allows software components to be reused. Programmers are
allowed to focus on the data in the application and
methods that manipulate that data, rather than thinking
strictly in terms of procedures.
- Network-savvy: Java is compatible with a variety
of TCP/IP (Transmission Control Protocol/Internet
Protocol) types such as HTTP (Hypertext Transport
Protocol) and FTP (File Transport Protocol) which makes
establishing network connections much easier than with C
or C++.
- Interpreted: The Java compiler allows the files
to be run on any machine that can run a Java-enabled
browser. Java code can be written independent of platform
because the Java compiler generates byte-codes rather than
machine code.
- Robust: In software development, the word
"robust" means that the software does not break
easily. In comparison to C and C++, Java places more
restrictions on the programmer, such as lack of pointer
support, which increases the chances of a program running
smoothly.
- Secure: Security is an important issue for Java
programmers because Java is designed to work in Networked
environments. Java lets users write virus-free systems
that are authenticated with encryption techniques. The
lack of pointers keeps programmers from forging to memory,
which eliminates the possibility of memory overwrites and
data corruption.
- Architecture-neutral: The Java compiler creates
code that is intended for use with a Java-enabled browser
installed on a network. This browser may be running on any
platform such as Windows 95, Windows NT, Macs and Unix
workstations. To enable Java applications the compiler
generates an architecture-neutral object file format which
is executable on many processors.
- Portable: Simplified arithmetic operation ensures
that the Java source code will run the same on different
platforms.
- High-performance: Because Java bytecodes are
interpreted across different platforms, the performance
sometimes suffers compared with direct compilation and
execution on a particular hardware platform. Java
compilers include an option to translate into machine code
for that particular platform. While Java is defined as
both an interpreted and a compiled language, it is not as
fast as a strictly compiled language such as C. However,
it is adequate to run applications where there is much
time spent waiting on user interface, which is found on
most Web pages.
- Multithreaded: Java allows applications where
several things can be happening at once. This allows for
support of real-time, interactive behavior, which is
important for GUI (Graphical User Interface) based
applications such as Web browsers, where you can be
listening to an audio clip while you are scrolling a page,
or downloading another image in the background.
- Dynamic: Java was designed to adapt to an
evolving environment. It does not require recompiling
after parent classes are changed thus allows new variables
to have no effect on dependent class objects. The run time
class definitions in Java allow the programmer to
dynamically link classes into a running system.
|