1 |
Java enforces compiler-time and download-time(byte code verifier) type checking and eliminates this way some error prone constructs of C/C++.
|
2 |
Pointer arithmetic is fully eliminated which allows e.g. for runtime checking of array subscripts and enforces security of the Java model.
|
3 |
Explicit declarations are always required, i.e. C-style implicit declarations are abandoned.
-
This allows the Java compiler to perform early error detection.
|
4 |
Rapid prototyping in Java is less natural than in JavaScript,Lisp, Tcl, Smalltalk or Perl, but the software quality assurance of Java is higher than in these more dynamic and 'forgiving' languages.
|
5 |
Note Java can NEVER overwrite itself as types of all arguments and methods are checked
|