Strong static typing, a hill I'm willing to die on
The social pressure to love static typing notwithstanding (think less of me if you will), the reason I got turned off by it eventually are the ivory towers that invariably get built up around them. I&#x27;ve spent a decade each building software in both paradigms and I now prefer not to use type systems.<p>I find dynamic typing similar to how unit testing is a forcing function for writing composable code, it acts as a forcing function to writing simple code; simple to read and simple to comprehend.<p>The argument that it helps inexperienced developers approach the codebase is, IMO, a poor one as it tends to incentivize an iteration loop that lacks understanding and is simply trying to make all the red go away. In fact I find that the type system is often a barrier to truly understanding what&#x27;s going on as it effectively adds a very domain specific language to every project that has to be learned on top of the language itself.<p>There are methods to solving the problems presented in TFA that are just as robust as using types and which are simple to understand. Can types be used in a simple way? Sure. Are they ever? Not in my experience. I also don&#x27;t like autocomplete, so take that as you will.<p>I may just be a grizzled greybeard screaming &quot;the code _is_ the documentation&quot;, but perhaps that is born from my deep dissatisfaction with the current breed of get-big-paycheck-chatgpt-said-it&#x27;s-right devs that are currently flooding the industry.