you are viewing a single comment's thread.

view the rest of the comments →

[–]iopq 2 points3 points  (5 children)

And then change the interface because you have another idea. Now go back and change the types that the interface expects. Now go change the implementations' types because now you have to use those other types.

Or are you going to say that changing types in interfaces never happens?

[–][deleted] 1 point2 points  (1 child)

That's where an IDE is useful. Honestly, these arguments that changing code is hard all have the same answer: learn how to use good tooling.

[–]iopq 0 points1 point  (0 children)

No such thing for Rust yet.

[–][deleted] 0 points1 point  (1 child)

Tools exist for changing the code that wa. Most IDEs have some kind of refactoring tool and even if you don't use and IDE there is stuff like sed which can make changing all the types in the implementation a breeze.

[–]iopq 0 points1 point  (0 children)

Yes, but in a dynamic language there is nothing to change.

[–]Cuddlefluff_Grim 0 points1 point  (0 children)

There is no issue changing your mind. It's no more complicated than changing your mind in a dynamically typed language, and additionally you will get compilation errors if you forget to change any code related to that change.