3 ms·
That hasn't been my experience at all. Indeed, I have gone found static typing to give me superpowers by letting me quickly see what kinds of data and transform
by clhodapp 8y ago
That hasn't been my experience at all. Indeed, I have gone found static typing to give me superpowers by letting me quickly see what kinds of data and transformations I have access to, constraining out possibilities that I'd otherwise need to test for, and codegenning away boilerplate.
- mlthoughts2018 8y agoA good example of why your experience doesn’t generalize is to compare the severe limitations of breeze linear algebra for Scala with numpy in Python. Breeze’s type safety creates this utterly needless hierarchy of abstraction that severely handicaps you from doing advanced elementwise operations, particularly with automatic broadcasting. With ndarrays in numpy, you can pretty do whatever crazy beoadcasted operations you want with no restriction on manually promoting things to “the right” shape or type. Breeze gives you “safety” at the cost of not being able to do anything with it, and requiring huge pains to refactor generic code to add functionality. I find this is exactly have it plays out with most large statically typed systems, even with fancy type class patterns in FP.