Tips On Planning Your Holiday Travel Plans

The holidays are coming, which means that many people will be traveling to see their families and share happy moments. Precautions should be taken for holiday traveling to ensure that your vacation…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Impact of Coronavirus on Python Programmer

Although Python dominates the fields of Data Science and Machine Learning, and, to some extent, Scientific and Mathematical computing, it does have its share of disadvantages when compared to newer languages like Julia, Swift and Java.

One of the main driving points behind Python’s meteoric growth was how easy it was to learn and how powerful it was to use, making it extremely appealing to beginners and even those who shied away from programming because of the hard, unfamiliar syntax of languages like C/C++.

The language, at its very core, emphasised extensively on code readability. With its concise and expressive syntax, it allowed developers to express ideas and concepts without writing tons of lines code (as would be the case in lower-level languages like C or Java). Its simplicity a given, Python seamlessly integrates with other programming languages (like offloading CPU-intensive tasks to C/C++), making it an added bonus to polyglot developers.

Image for post

Image for postImage for post

Image for post

Image for postImage for post

This is probably a no-brainer. Speed is generally considered to be one of the key focuses of a developer and will probably continue to be for an unforeseeable amount of time.

Among the major reasons why Python is “slow”, it really boils down to 2 — Python is interpreted as opposed to compiled, ultimately leading to slower execution times; and the fact that it is dynamically typed (data types of variables are automatically inferred by Python during execution).

In truth, this argument that “Python is slow” tends to factor a lot among beginners. Yes, it’s true. But only partially.

Take, for example, TensorFlow, a Machine Learning library available in Python. These libraries were actually written in C++ and made available in Python, sort of forming a Python “wrapper” around the C++ implementation. The same goes for Numpy and, to an extent, even Caer.

One of the major reasons for Python’s slowness is the presence of GIL (Global Interpreter Lock) which allows only one thread to execute at a time. While this boosts the performance of single threading, it places a limitation on parallelism where developers have to implement multiprocessing programs as opposed to multi-threaded ones, to improve speeds.

When objects go out of scope, Python has automatic garbage collections. It aims to remove a lot of the complexities involved in memory management that C and C++ involve. Owing to the flexibility (or lack thereof) of specifying data types, the amount of memory Python consumes can quickly explode.

Moreover, some bugs that may go unnoticed by Python may pop up during runtimes, ultimately slowing down the development process by a considerable factor.

Python was never built to be the best programming language. It was never built to take on C/C++ and Java. It was built to be a general-purpose programming language that emphasised on human-readable, English-centered syntax that allowed for the quick development of programs and applications.

Python, like every other language at the end of the day, is a tool. Sometimes, it is the best tool. Sometimes it’s not. Most often, it’s “just okay”.

So, is Python as a programming language, dying?

I hardly think so.

Is it losing its charm?

Ah, maybe just a bit. Just a bit.

Add a comment

Related posts:

Genetic protection at a cost

African-Americans have a greater risk of developing chronic kidney disease than Americans with European ancestry. Much of this increased risk is explained by two versions of a gene called APOL1 that…

How to use Personal brand for career development

A personal brand belongs to politicians, well-known businessmen, and actors. This is a way we usually think about self-branding. However, everyone has a personal brand by default and the only…

How Blockchain Technology Can Be Applied to the Food Industry

There has been plenty of noise surrounding the potential applications of blockchain technology and which industries could most use these innovations. While some pundits postulate that…