There are often heated arguments, often with many holding "absolutist" positions, on various topics in #programming. However, as with other areas of life, it's the more nuanced pragmatic view that (should) prevail.
Let's take static and dynamic typing. There are reasons why not all leading languages use either one or the other. They're different tools for different jobs.
If you need to prioritise safety in production code: static typing may be your choice.
If you want to prioritise prototyping speed and writing code rapidly, including by programmers who don't just program but use coding as part of other professional skills, dynamic typing options may be better.
It's all about using the right mindset for the right language. If someone is used to coding in C++, say, and tries to write Python code in the same way they write C++, that can (and will) lead to problems! The same is true the other way round, too, of course.
Take duck typing in languages such as #Python: that's a mindset–prioritising what an object can do rather than what it is. Once you get it, and you think about whether something is a sequence or an iterator rather than a list or string, say, then you're better placed to code in Python
There's no "this is the better one", instead, there's "this is the better one for this application"
@s_gruppetta I agree mostly, but check out #haxe - C++, python, JS, Java... - different languages but Haxe unifies them in one mindset.