202110111901 Run to change ratio of a program
The more often a program is run as a ratio of how often itβs changed, the better it is for it to have static typing. Another way of saying this is that code that rarely changes and runs a lot should be statically typed. Code that is changed often (e.g. personal scripts) is better suited for dynamic typing.
This is very similar to saying that when debugging the program and running it are nearer to one-in-the-same activity, the more dynamic it needs to be and the better suited dynamic types are for it.
How much do I agree with this? A counterpoint: static typing makes refactoring (i.e. changing) a program less error-prone and quicker. At the same time, prototyping it to start with is slower. #thread
This ties in with 202107291950 Optimizing requirements and implementations. Specifically, that note is about the optimization of our change rate that we use for the denominator here. This note builds a meaningful metric about the value in making changes relative to its frequency of use.