Простыми словами: Детерминированность vs Идемпотентность
Берем короткие определения из википедии:
Детерминированность - процесс, исход которого полностью определен алгоритмом, значениями входных переменных и начальным состоянием системы.
Идемпотентность - свойство объекта или операции при повторном применении операции к объекту давать тот же результат, что и при первом.
Упрощаем
Детерминированность - процесс, результат которого предопределен.
Идемпотентность - свойство чего-либо давать один и тот-же результат.
В чем разница?
В интернет-статьях и форумах трактуют по разному:
Детерминированность - общее понятие про мир (но, математика - один из способов описания мира прим.авт.).
Идемпотентность - это про математику, функция которая гарантирует выводимый результат (тогда это частное входит в общее понятие детерминированности? прим.авт.).
Детерминированность - результат может быть искажен (добавлены какието биты в результат, но тогда это недетерминированность прим.авт.).
Идемпотентность - избавляет от побочных эффектов.
Детерминированность - может влиять на систему (но это термин не о влиянии, а о выдаче результата относительно входных параметров прим.авт.).
Идемпотентность - не вносит изменения в систему (см выше прим.авт.).
В итоге, все с водится к:
Да, в целом термины одинаковы, поэтому кроме предположений мы конкретные отличия обосновать не можем...