Java & C# |
- Strongly typed object-oriented language
- Built on C++
- Compiles into machine and language independent code(byte code/IL code)
- Executes in a managed execution environment(JVM/CLR)
- Elimination of pointers(C# allows code marked unsafe)
- Classes all descend from object/Object
- No header files
- No global functions or constants
- No more ->, :: operators
- All code scoped to packages or assemblies
- Everything belongs to a class
- Objects must be allocated on the heap with new keyword
- Arrays and strings with lengths built-in and bounds checking
- All values are initialized before use
- if statement takes boolean condition as an argument
- try blocks can have a finally clause
- Thread support by putting a lock on objects(lock/synchronized)
- Subclass only one superclass
- Implement multiple interfaces
- Inner classes
- Garbage Collection behind scene
- Powerful reflection capabilities
NOTE: This is not an exhausted list.
|
|