Comparing Python with C and C++

In the following article, we will compare the 3 most used coding languages from a beginner’s perspective. It will help you to learn basics of all the 3 languages together while saving your time and will also help you to inter shift from one language you know to the other which you don’t. Let’s discuss a brief history of all the 3 languages and then we will move on to the practical learning.

C Vs C++ Vs Python

C C++ Python
C was developed by Dennis Ritchie between the year 1969 and 1973 at AT&T Bell Labs. C++ was developed by Bjarne Stroustrup in 1979. Pyhton was created by Guido van Rossum, and released in 1991.
More difficult to write code in contrast to both Python and C++ due to complex syntax. C++ code is less complex than C but more complex in contrast to python. Easier to write code.
Longer lines of code as compared to python. Longer lines of code as compared to python. 3-5 times shorter than equivalent C/C++ programs.
Variables are declared in C. Variables are declared in C++ Python has no declaration.
C is a compiled language. C++ is a compiled language. Python is an interpreted language.
C contains 32 keywords. C++ contains 52 keywords. Python contains 33 keywords.
For the development of code, C supports procedural programming. C++ is known as hybrid language because C++ supports both procedural and object oriented programming paradigms. Python supports multiple programming paradigms, including procedural, object-oriented, and functional programming.
C does not support inheritance. C++ support both single and multiple inheritance Python supports all 5 types of inheritance i.e. single inheritance, multiple inheritance, multilevel inheritance, hierarchical inheritance, and hybrid inheritance
C provides malloc() and calloc() functions for dynamic memory allocation, and free() for memory de-allocation. C++ provides new operator for memory allocation and delete operator for memory de-allocation. Python’s memory allocation and deallocation method is automatic.
Direct support for exception handling is not supported by C. Exception handling is supported by C++. Exception handling is supported by Python.

Library and Header files inclusion

Header Files: The files that tell the compiler how to call some functionality (without knowing how the functionality actually works) are called header files. They contain the function prototypes. They also contain Data types and constants used with the libraries. We use #include to use these header files in programs. These files end with .h extension.
Library: Library is the place where the actual functionality is implemented i.e. they contain function body.

Modules: A module is a file containing Python definitions and statements. A module can define functions, classes, and variables. A module can also include runnable code. Grouping related code into a module makes the code easier to understand and use. Import in python is similar to #include header_file in C/C++. Python modules can get access to code from another module by importing the file/function using import.



C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to demonstrate 
// adding header file
  
#include <stdio.h>
#include <string.h>

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ prgram to demonstrate
// adding header file
  
#include <iostream>
using namespace std;
#include <math.h>

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to demonstrate
# including modules
  
import tensorflow
  
  
# Including a class
# from existing module
from tensorflow import keras

chevron_right


Main method declaration

Main method declaration is declaring to computer that from here the implementation of my code should be done. The process of declaring main is same in C and C++. As we declare int main where int stands for return type we should have to return something integral at the end of code so that it compiles without error. We can write our code in between the curly braces.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

# C program to demonstrate 
# declaring main
  
#include <stdio.h>
int main() 
{
  
// Your code here
  
return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

# C++ progra to demonstrate
# declaring main
  
#include <iostream.h>
int main()
{
  
// Your code here
  
return 0
}

chevron_right


It is not necessary to declare main in python code unless and until you are declaring another function in your code. So we can declare main in python as follows.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to demonstrate
# declaring main
  
def main():
    # write your code here
  
if __name__=="__main__":
    main()

chevron_right


Declaring Variables

In C and C++ we first declare the data type of the variable and then declare the name of Variables. A few examples of data types are int, char, float, double, etc.

Python is not “statically typed”. We do not need to declare variables before using them or declare their type. A variable is created the moment we first assign a value to it.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to demonstrate
// declaring variable
  
#include <stdio.h>
  
int main()
{
    // Declaring one variable at a time
    int a;
  
    // Declaring more than one variable
    char a, b, c, d;
  
    // Initializing variables 
    float a = 0, b, c;
    b = 1; 
  
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to demonstrate
// declaring variables
  
#include <iostream.h>
  
int main() 
{
    // Declaring one variable at a time 
    int a;
  
    // Declaring more than one variable 
    char a, b, c, d;
  
    // Initializing variables 
    float a = 0, b, c;
    b = 1; 
   
    return 0;
}

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to demonstrate
# creating variables
   
# An integer assignment 
age = 45                      
    
# A floating point 
salary = 1456.8             
    
# A string   
name = "John"              

chevron_right


Printing to console

The Syntax for printing something as output is different for all the 3 languages.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C program to showing
// how to print data
// on screen
  
#include <stdio.h>
  
int main() 
{
   printf("Hello World");
   return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to showing
// how to print data
// on screen
  
#include <iostream>
using namespace std;
  
int main()
{
    cout << "Hello World";
    return 0;
}

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python program to showing
# how to print data
# on screen
  
print("Hello World")

chevron_right


Taking Input

The Syntax for taking input from the user is different in all three languages, so let’s see the syntax and write your first basic code in all the 3 languages.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

// C prgoram showing 
// how to take input
// from user
  
#include <stdio.h>
  
int main() 
{
    int a, b, c;
    printf("first number: ");
    scanf("%d", &a);
  
    printf("second number: ");
    scanf("%d", &b);
  
    c = a + b;
  
    printf("Hello World\n%d + %d = %d", a, b, c);
  
    return 0;
}

chevron_right


C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ prgoram showing 
// how to take input
// from user
  
#include <iostream>
using namespace std;
  
int main()
{
    int a, b, c;
    cout << "first number: ";
    cin >> a;
  
    cout << endl;
    cout << "second number: ";
    cin >> b;
  
    cout << endl;
    c = a + b;
  
    cout << "Hello World" << endl;
    cout << a << "+" << b << "=" << c;
  
    return 0;
}

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python prgoram showing 
# how to take input
# from user
  
a = input("first number: ")
b = input("second number: ")
  
c = a + b
  
print("Hello World")
print(a, "+", b, "=", c)

chevron_right




My Personal Notes arrow_drop_up

Coder of Languages like C, C++, Python and Arduino Highly interested in Robotics and Machine Learning Microsoft Technology Associate on the topic of Cloud Fundamentals

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.