Idempotencia

La idempotencia, en programación y matemáticas, es una propiedad de algunas operaciones, de modo que no importa cuántas veces las ejecute, obtendrá el mismo resultado.

En programación, la idempotencia puede ser una propiedad de muchos elementos de código diferentes, incluidas funciones, métodos, solicitudes y declaraciones. La idempotencia es una propiedad independiente del lenguaje: significa lo mismo en cualquier contexto de programación.

Aquí hay una demostración simple de idempotencia en solicitudes HTTP:

Las solicitudes HTTP GET son un método para recuperar datos específicos de una fuente, como obtener el saldo de una cuenta bancaria. Las solicitudes GET son idempotentes: el acceso a los mismos datos siempre debe ser coherente. Por otro lado, las solicitudes POST están diseñadas para cambiar el objetivo, como agregar una suma a una cuenta bancaria. Como tal, una solicitud POST debería cambiar el resultado y eso significa que no es idempotente.

Benjamin Peirce, un matemático estadounidense del siglo XIX que enseñó en Harvard durante más de 19 años, acuñó la palabra idempotente para referirse a elementos algebraicos que no cambian cuando se elevan a una potencia entera positiva. El significado literal de la palabra es "del mismo poder", del latín ídem, sentido mismo y francés antiguo horca, sentido la fuerza.

Corey Schafer explica la idempotencia: