Это называется
Side Effect.
В императивном программировании при работе с mutable структурами/объектами ничто не гарантирует от side effect, то есть порядок вызовов всегда может иметь значение (по крайней мере всегда стоит ожидать этого от чужого кода).
Противоположностью являются
"чистые" вычисления, гарантирующие отсутствие side effect. Это достигается:
- в императивном программировании: переходом к использованию только
immutable структур/объектов.
- в декларативном программировании: многие языки "чистые" из коробки, это их неотъемлемое свойство.