I don&#x27;t agree with that either. I have written a decent chunk of production python code last year (eg. just one module has over &gt;10k lines) because the tools required it and I can&#x27;t say I&#x27;m too pleased with how it scales to complex APIs (eg. manipulating blender scene graph). Java would undoubtedly be much worse but Java is not the only statically typed language, or should we discard all dynamically typed languages because of PHP and Perl.<p>If it&#x27;s not a script task or glue code I prefer static typing.<p>Java is just a very bad implementation of static typing, it&#x27;s intentionally dumbed down and limited so that you don&#x27;t need to learn a lot to understand code - and this results in weak type guarantees, bloated and tedious code base and silly patterns to work arround language limitations.<p>C# is a much better example of a productive statically typed language in the same family, F# is even better - those are just the ones I have experience with. I would have much rather done that blender project in F# over Python if I could (sadly only python API available)<p>Besides even dynamic language authors are seeing value in providing static typing with the recent trend of optional&#x2F;gradual typing for most dynamic languages.