Re:Summer of Programming Languages
by tormeh on Monday July 07, 2014 @02:50PM
(#8000577)
....and then you've forgot what you were actually trying to solve.
[ Parent
| on HN ]
What is the alternative? You change the code, the behavior gets changed but the compiler doesn't warn you. At this point you have two possible paths:
1- You wrote tests which start failing. You must now spend time changing them. You don't manage to avoid working in order fix your safety net (be it static type checking or your test suite).
2- You didn't write the right tests, and don't notice the change in behavior. The program later fails in production.
Re:Summer of Programming Languages
by steveklabnik on Monday July 07, 2014 @03:05PM
(#8000664)
Why? Aren't you trying to solve the change in interface? And wouldn't you be making the same changes in a dynamically typed language?
I find the type system a great help with remembering what I was actually trying to solve. I can "start at the end" and then work backwards, solving one compile error at a time until there aren't any left, at which point I'll know I've done what I wanted to.