The inventors of Java were C/C++ programmers, and they made conscious decisions to leave out most of the C/C++ features that get programmers into trouble. In one way you can say these are drowback of java :)
- Java has no global variables or functions
- Java has no pointer and address operators
- Java has no pre-processor and no macros
- Java does not have "unsigned" types
- Java has no enums
- Java has no "varargs"
- Java does not allow multiple inheritence