5 ms·
Your example is of a greenfield project rather than living code that is constantly updated, in some cases by many people simultaneously. The compiler being a ga
by JambalayaJimbo 1y ago
Your example is of a greenfield project rather than living code that is constantly updated, in some cases by many people simultaneously. The compiler being a gate for correctness is far superior in the latter case.
- ActorNightly 1y agoIf you enforce very strict interfaces through language, no matter how many people work on them, the tradeoff still applies. For example, you can have multiple people working on a code base for the second case, and some sub team has a new requirement for added functionality. Now they have to go refactor a whole bunch of the codebase to make all the types coherent. And consequently, shortcuts happen here, which leads to shit codebases.
- JambalayaJimbo 1y agoLazy developers are going to choose the path of least resistance. A well designed type system will be intuitive, communicate well the original developer's wishes, and add lots of friction for doing stupid things. A lazy developer will not want to refactor the whole codebase!