Tom Ritchford
2 min readSep 19, 2021

--

I've been programming C since the early 80s, C++ since the late 80s, and Python since 2004. I am not frightened of statically typed languages.

First, there are very few "untyped" languages. Maybe Javascript comes close, but still, in pretty well every language, every single variable has an unambiguous type at any given moment. What you mean is dynamically typed languages, as opposed to statically typed languages.

It's not promising that you don't understand even the basic terminology.

Now, let's go to the title. Do you not understand how condescending it is to imply that people avoid statically typed language out of fear?

It's my belief that you've never actually done serious development in a dynamically typed language, because if you had, you would have learned two things:

1. Getting the wrong type is a pretty rare error, and

2. Those errors are almost always trivial to debug and fix

And the very big point you missed is that it's a lot slower to write statically typed languages, because there's a lot more typing, and separately, because there's a whole compilation phase, and because testing is much easier in a duck typed language.

I would say I'm easily twice as productive in Python as in a compiled language like Rust, C++ or Java. And that's assuming I know the compiled language. Experimenting in a compiled language is very slow - experimenting in a "scripting" language is very fast.

And I use a fraction of the time I saved to write a lot more unit tests, so I end up with a more reliable program in a lot less time.

--

--

No responses yet