3 ms·
>You had a problem, you adopted typing and now you have two problems is generally my thinking here. When you are working with types, it's like you are working
by jmiskovic 6y ago
>You had a problem, you adopted typing and now you have two problems is generally my thinking here.
When you are working with types, it's like you are working out a complex puzzle. Each time you've solved a part of the system you've created more puzzle pieces in other parts. Solving this meta-puzzle feels nice and productive, especially once you get the hang of it. But it's not really solving the original problem, it's just managing the accidental complexity.
- CraigJPerry 6y agoSometimes it feels hyper productive - when you’re working out the practical details of how to model your problem, typing feels like you have a smart assistant helping you think, or at least organise your thoughts more clearly. When you’re changing some code that’s been around for a while, or writing adapter type code, or any kind of SERDES type operations, it begins to feel less like helpful guard rails and more like unproductive yak shaving. After the initial creation, most of my code changes fall in the latter camp. I definitely think having a comfortable way to say “here, in this code, i want types. Over here, i don’t care” is a control missing in many languages. You can certainly fake it (e.g. string typing or everything is object type) but not comfortably like for example in TypeScript.