Back to Top

Python pros and cons

Oliver: Python was invented back in 1991 as a script-based programming language which was supposed to help automate boring, repetitive tasks. It was similar with the language used for the batch files that were utilized while the DOS operating system was ruling, if you will. However, Python's popularity and flexibility have exploded over the last few years.

According to Stack Overflow, Python has recently broken into the world's top three most popular programming languages. It is not surprising, because Python is easy to learn and easy to use. Fortunately, Python distributions are available for all the important OSs, and most of them are 100% free.

Here's how the code for a "Hello World" application looks like in Python:

print("Hello world!")

So, let's compare the source code with the one that is needed for the same application written in C++:

#include

using namespace std;

int main()

{

    cout << "Hello, World!";

    return 0;

}

I think that it is quite clear why Python has become so popular.

Beginners who want to get started with this programming language should use the official cpython distribution. It is very easy to set up, and it includes several useful packages out-of-the-box. Then, you will need to use a decent IDE. If you utilize a Windows-based computer, you will be pleased to know that Microsoft's Visual Studio provides excellent Python support. Mac users should utilize the Sublime Text editor, which can work with Python syntax as well.

Many APIs have wrappers and libraries that make it possible to get access to their core functions using Python, so scientists utilize it to performing sophisticated data analysis. The latest versions of the programming language have introduced asynchronous operations as well, allowing Python to run thousands of different functions in parallel.

Python's success is at least partially explained by its huge number of useful third-party libraries. While most libraries have been created for Python2, many of them have been rewritten, and are now fully compatible with the latest version of Python. You will find modules that make it really easy to work with various math functions, handle files, access network resources, communicate with other computers using various Internet protocols, scrape the web, access SQL databases, and more.

Lots of companies are hiring Python developers these days. Often, beginners to programming can learn the language and get high-paying jobs in less than 12 months.

James: I wholeheartedly agree that there are several important reasons why you should explore Python. However, this programming language has its drawbacks as well. Let's discuss them, shall we?

To begin with, Python is a high-level language. This means that it can't have access to the low-level functions of the operating system. So, if you want to create an application that interacts with your computer's hardware components at a low level, you'd better use something like C++.

Being a high-level language, Python is not fast. I mean, it's one of the fastest application prototyping tools out there, but app execution times aren't the best. To make things even worse, Python's modules are interpreted at runtime, rather than being compiled in advance and run. So, be sure to use a low-level language if application speed is essential.

Also, this programming language isn't the ideal solution when it comes to building multiplatform applications. Sure, you can create separate binaries for Windows, Mac and Linux, but it's going to be a time-consuming operation, and the end result won't be that elegant.

These things being said, I am quite sure that Python's popularity will continue to grow in the future as well.