Difference between C, C++, Java

                                                                 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

Posted on by