Member-only story
Programming
Why Some Senior Developers Don’t Like Python
And why they advocate static languages like C++
In my previous article, about the slowest modern programming languages, I discussed how dynamically typed languages like Python are user-friendly and less error-prone.
It turns out not everyone agrees.
Many senior developers stated that they find working with dynamically typed languages a pain in the neck. The response below collected the bulk of the claps.
“Excuse me, what? Dynamically typed languages are less error-prone than statically-typed? Sorry, but, not in my 21 years of software development.” — Rasmus Schultz
Following this answer, I decided to compile the main reasons that would make senior developers dodge dynamically typed languages and lay those reasons out here to clear up the misconceptions.
To cover the matter better, we’re going to take Python as an example of a dynamically typed language, due to its surging popularity.
Dynamic Typing
Typing in this context has nothing to do with keystrokes. The word is derived from data types.
When it comes to programming, many typing classes, such as strong typing and duck typing, come into play. But we’re going to limit ourselves to the most common ones:
- Dynamic typing
- Static typing
Dynamic typing is when type errors are flagged during runtime. It’s also, say, not having to explicitly declare data types, as is the case with Python, Ruby, and JavaScript.
As opposed to dynamic typing, static typing is the report of type errors during compile-time and the explicit declaration of data types. This is the case with C, C++, and Java.
The funny thing about Python and programming languages in general is that some of their benefits are also their drawbacks.
Dynamic typing was set to ease the process of coding by cutting out some lines of code through implicit data type declaration. This feature has nonetheless a big pitfall.