Difference between c, c++, java and Python
Aspects | C | C++ | Java | Python |
---|---|---|---|---|
Developed Year | 1972 | 1979 | 1991 | 1991 |
Developed By | Dennis Ritchie | Bjarne Stroustrup | James Gosling | Guido van Rossum |
Successor of | BCPL | C | C(Syntax) & C++ (Structure) |
ABC language |
Paradigms | Procedural | Object Oriented | Object Oriented | Multi-Paradigm |
Platform Dependency |
Dependent | Dependent | Independent | Independent |
Keywords | 32 | 63 | 50 defined (goto, const unusable) |
33 |
Datatypes : union, structure |
Supported | Supported | Not Supported |
Supported |
Pre-processor directives |
Supported (#include, #define) |
Supported (#include, #define) |
Not Supported |
Not Supported |
Header files | Supported | Supported | Use Packages (import) |
Use Packages (import) |
Inheritance | No Inheritance |
Supported | Multiple Inheritance not Supported |
Supported |
Overloading | No Overloading |
Supported | Operator Overloading not Supported |
Operator Overloading not Supported |
Pointers | Supported | Supported | No Pointers | No Pointers |
Code Translation |
Compiled | Compiled | Interpreted | Interpreted |
Storage Allocation |
Uses malloc, calloc |
Uses new , delete |
uses garbage collector |
uses garbage collector |
Multi-threading and Interfaces |
Not Supported |
Not Supported |
Supported | Supported |
Exception Handling |
No Exception handling |
Supported | Supported | Supported |
Templates | Not Supported |
Supported | Not Supported |
Supported |
Storage class: auto, extern |
Supported | Supported | Not Supported |
Not Supported |
Destructors | No Constructor or Destructor |
Supported | Not Supported |
Not Supported |
Database Connectivity |
Not Supported |
Not Supported |
Supported | Supported |