Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multi-threaded, and dynamic language.
Name:
Anonymous2008-06-09 9:18
JAVA 4 EVA!
Name:
Anonymous2008-06-09 9:20
Simple
Simpler than C++ -- no operator overloading
Mimics C/C++ syntax, operators, etc. where possible
To the programmer, Java's garbage collector (GC) memory model is much
simpler than C/C++
Object-Oriented
Java is fundamentally based on the OOP notions of classes and objects
Java uses a formal OOP type system that must be obeyed at compile-time and
run-time. This is helpful for larger projects, where the structure helps keep the
various parts consistent. Contrast to Perl, which as more of a quick-n-dirty feel.
Distributed / Network Oriented
Java is network friendly -- both in its portable, threaded nature, and because
common networking operations are built-in to the Java libraries.
Robust / Secure
Java is very robust -- both vs. unintentional memory errors and vs. malicious
code such as viruses. Java makes a tradeoff of robustness vs. performance.
1. The JVM uses a verifier on each class at runtime to verify that it has the correct
structure
2. The JVM checks certain runtime operations, such as pointer and array access,
to make sure they are touching only the memory they should. Memory is
managed automatically by the garbage collector (GC).
3. The Security Manager can check which operations a particular piece of code is
allowed to do at runtime
Name:
Anonymous2008-06-09 9:20
Architecture Neutral / Portable
Java is designed to "Write Once Run Anywhere", and for the most part this
works. Not even a recompile is required -- a Java executable can work, without
change, on any Java enabled platform.
High-performance
Java performance has gotten a lot better with aggressive just-in-time-compiler
(JIT) techniques. Java performance is often similar to the speed of C , and is
faster than C in some cases. However memory use and startup time are both
significantly worse than C.
Multi-Threaded
Java has a notion of concurrency wired right in to the language itself. This works
out more cleanly than languages where concurrency is bolted on after the fact.
Dynamic
Class and type information is kept around at runtime. This enables runtime
loading and inspection of code in a very flexible way.
Name:
Anonymous2008-06-09 9:21
Java is a simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multi-threaded, and dynamic language.