DEV Community

Cover image for Python: Preamble
Mcvean Soans
Mcvean Soans

Posted on • Updated on

Python: Preamble

This is the first post in the Becoming a Python Developer series! This series is intended towards everyone. Be it complete beginners or professional developers, the posts are sure to be helpful in grasping the concepts and a perfect launchpad for your Python journey! 😄

What is Python? Why is it gaining popularity?

In recent times, the need for a developer is a programming language that provides both C-style functional programming as well as Java-style object orientation. Whenever, functional aspects like calculations or processing is involved, C-style coding is preferred, while the need for classes and objects is completed by Java-style coding.

Python is an open-sourced programming language that combines the features of C and Java. It has exceptional procedural as well as object-oriented capabilities. Having said this, always remember that everything in Python is an object.

Some Features of Python

  • Simple and Easy to learn - Learning Python is very simple compared to other programming languages.
  • Dynamically Typed - In Python, we need not specifically declare the datatype of the variables used (unlike statically typed languages like C and Java).
  • Platform Independent - When a Python program is compiled using a Python compiler, it generates byte code. Using a Python Virtual Machine (PVM), anyone can run the byte code instructions on any computer system.
  • Procedure and Object Oriented - Python gives emphasis on the functions as well as objects.
  • Scripting Language - A scripting language is a programming language that utilizes an Interpreter to translate the source code into machine code on the fly (while running). Other scripting languages include PHP, Bash, etc.
  • Database Connectivity - Python provides Application Programming Interfaces (APIs) to connect its programs to all major databases like Oracle, MySql, SQLite Browser, etc.
  • Batteries Included - Python contains several packages available for immediate use by developers. These packages make development easier due to the various features supported by them. Some of these packages include: numpy - for working with single and multi-dimensional arrays, pandas - for data analysis and data manipulation, matplotlib - for data visualization, etc.

Some differences between C and Python

C Python
It is a procedure-oriented programming language, and does not contain features such as objects, classes, etc. It contains features from procedure-oriented programming languages as well as object oriented programming languages.
Program execution is faster. Slower execution of programs as compared to C. The PyPy flavor of Python programs run a bit faster.
It is a statically-typed language (variable declaration with appropriate datatype is compulsory). It is a dynamically-typed language. Type declaration is not required.
Memory allocation and deallocation requires user-intervention. Memory allocation and deallocation is done automatically by the PVM.
Indentation does not have any importance in C. Indentation plays a major role and the code blocks need to be correctly indented.

Some differences between Java and Python

Java Python
Java is essentially an object-oriented programming language. Python blends functional programming features with the object-oriented approach of programming.
Java programs are verbose (contain many lines of code). Python programs are concise and compact, and very few lines of code are required to achieve any specified task.
It is compulsory to declare the datatypes of the variables, arrays, etc. (statically-typed language) Type declaration is not required in Python (dynamically-typed language).
Memory allocation and deallocation is done by JVM (Java Virtual Machine). Memory allocation and deallocation is done by PVM (Python Virtual Machine).
Indentation does not have any importance in Java. It is required only for better readability of the code. Indentation plays a major role in Python, and improper indentation may lead to errors in the program.

Top comments (0)