What do we know about Dynamic vs Static Typing?
This is perhaps the most illuminating discussion I’ve seen on the topic. Definitely worth a watch.
The biggest takeaways, I think, are these…
First, static typing can only fix a tiny percentage of the software defects in your program (around 2 per cent). The rest of the defects can only be uncovered through testing, esp. unit testing.
Second, statically typed software is no more reliable than dynamically typed software.
Third, there is nothing that static typing can do for you that can’t be done in testing.
Fourth, the small benefits of static typing are not worth giving up the tremendous benefits of dynamic languages, such as flexibility, velocity of delivery, programming (cognitive) ease, fewer lines of code, etc.