This, so much this.<p>I hear Java devs argue in favor of using static types because the type checking and IDE autocomplete lets them write code faster.<p>Dynamically typed languages are great because you don&#x27;t have to write as much code to provide comparable functionality. The best quality code that&#x27;s also the easiest to maintain is the code you don&#x27;t have to write to begin with.<p>I used to contribute to an OSS library for parsing raw network frames into structured protocol data. 50%-60% of the code was type coercion and design pattern boilerplate to work around the type system.<p>I saw similar networking code written in JS and was in awe at how little code it took to accomplish the same. It was easily an order of magnitude less code.<p>Types are good for handling some edge cases. When types are required by default, it just adds a ton of unnecessary noise.