Comment by ivanmontillam
2 years ago
> ...very few programmers are typically interested in having their opinion on typing changed. > Free of strong typing.
Strong-typed languages can be a source of burn and frustration if you're not used to them, especially when starting your programming career (and I sense DHH comes from this standpoint on his last paragraph there).
I know many programmers that have chosen weakly-typed languages because they found it simpler, faster time-to-HelloWorld-success, rather than fighting the compiler for cryptic compiler and linking errors. I was burned like this when I first found C++ and Delphi back when I was 12 years old.
I consider strong-typing beautiful for two reasons:
- You get to be explicit on how you want the bits you're handling being interpreted. Some languages will even let you write your own typecasting functions and comparison operators, further extending the language capabilities (though they may tend to be more verbose).
- It helps code analyzers do their job, helping you to avoid a shoot in the foot (IntelliSense, IDEs with similar technologies).
In my argument I'm abiding to the "explicit is better than implicit" principle which is not only a Zen of Python thing; every programming language benefits from this approach (more control, more readability, explicit intention, less uncertainty).
Dynamic typed languages are perfect for the new programmer. Very forgiving, quick results. But as you get better, you start looking for tools to help you prevent mistakes, and even code faster. That is what static typing can do for an experienced developer. If you're getting frustrated then you're probably not ready yet - go back to learning the basics.