DIFFERENCE BETWEEN C, C++ & JAVA
==>PROGRAMMING PARADIGM:-
C:- Procedural Language
C++:- Object Oriented Programming
Java:- Pure Object Oriented
==>ORIGIN :-
C:- Based on Assembly Language
C++:- Based on C Language
Java:- Based on C & C++
==>DEVELOPER:-
C:- Dennis Ritchie in 1972
C++:- Bjarne Stroustrup in 1979
Java:- James Gosling in 1991
==>TRANSLATOR:-
C:- Compiler only
C++:- Compiler only
Java:- Interpreted Language(compiler+interpreter)
==>APPROACH:-
C:- Top-Down Approach
C++:- Top-Down Approach
Java:-Bottom-Up Approach
==>FILE GENERATION
C:- .exe files
C++:- .exe files
Java:- .class files
==>PRE-PROCESSOR DIRECTIVES
C:- Support header files(#include,#define)
C++:-Supported(#header,#define)
Java:-Use packages(import)
==>KEYWORDS
C:- Supports 32 keywords
C++:- Supports 63 keywords
Java:- 50 defined keywords
==>DATATYPES(UNION,STRUCTURE)
C:- Supported
C++:- Supported
Java:- Not supported
==>INHERITANCE
C:- No inheritance
C++:- Supported
Java:- Supported except multipile inheritane
==>OVERLOADING
C:- No overloading
C++:- Support functional overloading(polymorphism)
Java:-operator overloading is not supported
==>POINTERS
C:- Supported
C++:- Supported
Java:- Not supported
==>ALLOCATION
C:- Use malloc,calloc
C++:- Use new,delete
Java:- Garbage Collector
==>EXCEPTION HANDLING
C:- Not supported
C++:- Supported
Java:- Supported
==>TEMPLATES
C:- Not supported
C++:- Supported
Java:- Not supported
==>DESTRUCTOR
C:- No Constructor neither destructor
C++:- supported
Java:- Not supported
==>MULTITHREADING/INTERFACES
C:- Not supported
C++:- Not supported
Java:- Supported
==>DATABASE CONNECTIVITY
C:- Not supported
C++:- Not supported
Java:- supported
==>STORAGE CLASSES
C:- Supported(auto,extern)
C++:- Supported(auto,extern)
Java:- Not supported