> so not really any point in trying to convince you
You’re right about that, but I take a stronger position on this than for example something very subjective like curly braces versus white space indentation. I am indeed very dogmatic and take a hard-line on this. To the point that I’ll say this: dynamic typing is simply a wrong and bad engineering decision.
Another example of a bad thing is allowing null to be a part of every type instead of requiring an explicit ? in the type, or the use of an Optional wrapper — and this is something any modern languages — to name a few Rust, Kotlin, etc fixes. But that isn’t meant to level a personal attack against the languages designers of the past (or to say that they were stupid). Allowing every type to be Union[T, null] was a simply a language design mistake (that potentially cost us billions) that we need to rectify and move forward from.
However, imo, dynamic typing is a 100 times worse than not having null safety (or not having memory safety like C or C++). I can work with a C or C++ without much trouble, but not with dynamic typing. Dynamic typing is simply just inexcusably horrid.