Two things, which I've said before, apply to this experience.
- Being able to throw away the first few iterations is valuable. The design of later iterations can incorporate issues that weren't forseen in the earlier iterations.
- Static typing makes replacing large chunks of code manageable. The compiler caught numerous little oversights, whereas using a dynamically typed language would have been much more painful.
So, for prototyping and rapid iteration, I strongly prefer using statically typed languages.
For an established code base that has many people working on it, rewriting large chunks of code is less of an option.
- It's harder to understand all of the issues in a large codebase.
- Management conservatism discourages potentially disruptive changes.
No comments:
Post a Comment