Why learn Python?

Why should I learn Python is a very valid concern for anyone. Especially if you come from a Java, C or a JavaScript background.

Below I try to answer this question.

  • Python is a simple but powerful language that lets you focus on problem at hand rather than syntax etc.
  • It’s easy to learn. If you are familiar with an object oriented programming language like Java or a functional programming language like Javascript then it will be very easy for you to get upto speed with Python.
  • It provides effective high level data structures along with object oriented features.
  • Its free and open source.
  • Its portable, it can be ported to any platform.
  • Interpreted : Python does not need compilation to binary. Python converts the source code into an intermediate form called byte-codes and then translates this into the native language of your computer and then runs it.
  • It supports both procedure and object oriented programming.
  • Python comes with a rich set of standard libraries. These can help us with all sorts of functionalities like databases, multithreading, regular expressions etc. Apart from this there are various other high quality libraries available.
  • People claim that using Python makes programming easier for them.

Let’s look at some other factors which favour Python over low level languages like C.

C vs Python

While the best possible runtime performance can be achieved in a low-level C programming language, working in a high-level language such as Python usually reduces the development time and often results in more flexible and extensible code.

You can write code in C that can power your Python libraries that are computationally expensive.

Today CPU-hours are cheap and are getting cheaper, but man-hours are expensive. This makes a strong case for minimising development time rather than the runtime of a computation by using a high-level programming language and environment such as Python and its scientific computing libraries.

Hence a solution that partially avoids the trade-off between high- and low-level languages is to use a high-level language for interface libraries and low-level languages for implementations.

Python excels at this type of integration. Code written in C can be used for computationally expensive operations. At high level for interface etc. Python can be used. This is an important reason why Python is a popular language for numerical computing.

Some other features include:

  • No braces needed. Statement grouping is done via indentation.
  • No variable declaration is needed.
  • High level data types allows you to express complex operations in a single statement.

Python is quickly becoming the language of choice when it comes to Data Analysis and Machine Learning.  

Python for Engineering and Scientific Applications

SciPy (pronounced “Sigh Pie”) is a Python-based ecosystem of open-source software for mathematics, science, and engineering.

In particular, these are some of the core packages:

  1. NumPy
  2. SciPy
  3. Matplotlib
  4. iPython
  5. Sympy
  6. Pandas