4 ms·
This is a breaking API change. The fact that the API was consumed over the CLI is irrelevant, the actual problem is that there was an API and it broke.
by Sir_Cmpwn 10y ago
This is a breaking API change. The fact that the API was consumed over the CLI is irrelevant, the actual problem is that there was an API and it broke.
- TazeTSchnitzel 10y agoAre you sure? Would this not manifest differently if it were, say, a function call?
- Sir_Cmpwn 10y agoWell, it might cause a compile error if the function changed. Unless you're using a dynamic language, of course.
- EdHominem 10y agoDifferently, yes. Better, unlikely. Unless you've got a password type and a regular string type, how's the compiler to know you've swapped the password with a config string? Joel on Software wrote an interesting article that's related to this, oddly about Hungarian notation. His point was that *lwistrp = "foo" tells you meaningless stuff (lwip and str) about your data. That's what the compiler is supposed to track. But 'u_pw' and 's_pw' (unsafe/safe) for pre and post-processed user-input tells you something meaningful the compiler has a harder time tracking. (Not impossible with taint-tracking, but ...) The relevance is that types tend to be based on the implementation details instead of the higher-level facts. For this sort of function to be actually safe, not just compiler-safe, it would need higher-level types and to be compiled into your language (not called via an opaque FFI) to check them.